<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>Onoreto</title><link href="https://steviepoppe.net/" rel="alternate"></link><link href="http://localhost:8000/feeds/all.atom.xml" rel="self"></link><id>https://steviepoppe.net/</id><updated>2023-06-07T00:00:00+02:00</updated><subtitle>| Onoreto</subtitle><entry><title>The Far Right and the Dissemination of COVID-19-Related Disinformation and Conspiracy Narratives in Japan: the Metapolitics of Kobayashi Yoshinori</title><link href="https://steviepoppe.net/publication/covid-disinformation/" rel="alternate"></link><published>2023-06-07T00:00:00+02:00</published><updated>2023-06-07T00:00:00+02:00</updated><author><name>Stevie Poppe, Linda Havenstein, and Fabian Schäfer</name></author><id>tag:steviepoppe.net,2023-06-07:/publication/covid-disinformation/</id><content type="html">&lt;h1 id="abstract"&gt;&lt;a class="toclink" href="#abstract"&gt;Abstract&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;The initial lack of scientific consensus regarding COVID-19 and public controversies concerning implemented countermeasures have created fertile soil for the circulation of disinformation and conspiracy narratives. Applying a mixed-methods discourse analysis, we examine the use of typical rhetorical strategies and metaphors of conspiracy narratives and disinformation, and we study overlaps with discursive strategies of the New Right in Japan. Our discourse analysis uses a qualitative and a quantitative approach. The former ranges from bestselling publications by the contribution of historical revisionist manga author Kobayashi Yoshinori to the propagation of COVID-19 – related conspiracy narratives and disinformation. The latter analyzes data collected from Amazon’s review section, through which we explore narrative reach and reader reception.&lt;/p&gt;
&lt;h1 id="citation"&gt;&lt;a class="toclink" href="#citation"&gt;Citation&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Poppe, S., Havenstein, L., &amp;amp; Schäfer, F. (2023). The Far Right and the Dissemination of COVID-19-Related Disinformation and Conspiracy Narratives in Japan: the Metapolitics of Kobayashi Yoshinori, Asiascape: Digital Asia, 10(1-2), 153-180. doi: &lt;a href="https://doi.org/10.1163/22142312-bja10050"&gt;https://doi.org/10.1163/22142312-bja10050&lt;/a&gt;&lt;/p&gt;</content><category term="Publication"></category><category term="conspiracy theories"></category><category term="COVID-19 pandemic"></category><category term="disinformation"></category><category term="Kobayashi Yoshinori"></category><category term="metapolitics"></category><category term="New Right"></category><category term="populism"></category></entry><entry><title>Travels: One week in Jordan</title><link href="https://steviepoppe.net/blog/2022/12/travels-one-week-in-jordan/" rel="alternate"></link><published>2022-12-10T00:00:00+01:00</published><updated>2022-12-10T00:00:00+01:00</updated><author><name>Stevie Poppe</name></author><id>tag:steviepoppe.net,2022-12-10:/blog/2022/12/travels-one-week-in-jordan/</id><summary type="html">
&lt;p&gt;Completely unrelated to the fact that I had already seen Dune in the cinema three times within the first year it came out, my childhood-era plans to visit the middle-east were bolstered when a friend from high school that I hadn’t seen in over a decade showed me his travel pictures in Jordan. Needless to say, within a few weeks, we had planned an itinerary and booked our flights to Amman, Jordan.&lt;/p&gt;
&lt;h1 id="itinerary"&gt;&lt;a class="toclink" href="#itinerary"&gt;Itinerary &lt;i class="icon-plane small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Given that it was our first time to Jordan, we devised a fairly common itinerary that would allow us to see all the major destinations: the capital of Amman, the historic city of Petra (which was listed as one of the New 7 Wonders of the World), the desert valley of Wadi Rum, the Red Sea at the coastal city of Aqaba, and the Dead Sea. The Dead Sea aside, most of these are well-connected by JETT-operated public transport; nevertheless, irregular bus schedules meant that we ended up using a local, Uber-style transport method most of the time (an app called Careem).&lt;sup&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;h2 id="petra"&gt;&lt;a class="toclink" href="#petra"&gt;Petra (ٱلْبَتْراء)&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;We arrived in Amman airport rather late at night, and I had to wrap up work on a paper I was working on, so the first day was rather uneventful;&lt;sup&gt;&lt;/sup&gt; if anything, I ended up doing a full-nigher and was absolutely deceased on my way to Petra, our first destination. The capital city of an ancient Arab civilization called the Nabateans, Petra is an ancient city in Jordan known today for its rock-cut architecture and the iconic Treasury (Al-Khazneh, الخزنة;) building.&lt;/p&gt;
&lt;p class="center noshadow"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/53020554934/in/album-72177720309515750/" title="Petra"&gt;&lt;img alt="Petra" src="https://live.staticflickr.com/65535/53020554934_09b4016625_z.jpg" style="height: 45%;"/&gt;&lt;/a&gt;
&lt;a class="center noshadow" href="https://www.flickr.com/photos/147061735@N04/53019802842/in/album-72177720309515750/" title="Petra by Night"&gt;&lt;img alt="Petra by Night" src="https://live.staticflickr.com/65535/53019802842_13376c6b18_z.jpg" style="height: 45%;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;We stayed at a cozy hotel about ten minutes away by shuttle bus to the main entrance point of Petra.&lt;sup&gt;&lt;/sup&gt; From there, the city is accessed through a narrow canyon called the Siq, which lead straight to the Treasury. Although stunning, it was the trail beyond, leading to the theater and monarchy, that truly drew me in with its magnificent views of the mountainous landscape.&lt;/p&gt;
&lt;p&gt;Furthermore, given that Petra is an extremely popular destination, we had to be prepared to ward off a variety of scam artists and hawkers; particularly at the entrance of the site and near the Treasury. This was fortunately limited to only those spots and, on a hike further in the ancient city, we were offered coffee and refreshments for next to nothing by a Bedouin mother and her daughter residing …&lt;/p&gt;</summary><content type="html">

&lt;p&gt;Completely unrelated to the fact that I had already seen Dune in the cinema three times within the first year it came out, my childhood-era plans to visit the middle-east were bolstered when a friend from high school that I hadn’t seen in over a decade showed me his travel pictures in Jordan. Needless to say, within a few weeks, we had planned an itinerary and booked our flights to Amman, Jordan.&lt;/p&gt;

&lt;h1 id="itinerary"&gt;&lt;a class="toclink" href="#itinerary"&gt;Itinerary &lt;i class="icon-plane small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Given that it was our first time to Jordan, we devised a fairly common itinerary that would allow us to see all the major destinations: the capital of Amman, the historic city of Petra (which was listed as one of the New 7 Wonders of the World), the desert valley of Wadi Rum, the Red Sea at the coastal city of Aqaba, and the Dead Sea. The Dead Sea aside, most of these are well-connected by JETT-operated public transport; nevertheless, irregular bus schedules meant that we ended up using a local, Uber-style transport method most of the time (an app called Careem).&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-1" id="fnref-1" rel="footnote"&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;h2 id="petra"&gt;&lt;a class="toclink" href="#petra"&gt;Petra (ٱلْبَتْراء)&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;We arrived in Amman airport rather late at night, and I had to wrap up work on a paper I was working on, so the first day was rather uneventful;&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-2" id="fnref-2" rel="footnote"&gt;3&lt;/a&gt;&lt;/sup&gt; if anything, I ended up doing a full-nigher and was absolutely deceased on my way to Petra, our first destination. The capital city of an ancient Arab civilization called the Nabateans, Petra is an ancient city in Jordan known today for its rock-cut architecture and the iconic Treasury (Al-Khazneh, الخزنة;) building.&lt;/p&gt;
&lt;p class="center noshadow"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/53020554934/in/album-72177720309515750/" title="Petra"&gt;&lt;img alt="Petra" src="https://live.staticflickr.com/65535/53020554934_09b4016625_z.jpg" style="height: 45%;"/&gt;&lt;/a&gt;
&lt;a class="center noshadow" href="https://www.flickr.com/photos/147061735@N04/53019802842/in/album-72177720309515750/" title="Petra by Night"&gt;&lt;img alt="Petra by Night" src="https://live.staticflickr.com/65535/53019802842_13376c6b18_z.jpg" style="height: 45%;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;We stayed at a cozy hotel about ten minutes away by shuttle bus to the main entrance point of Petra.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-3" id="fnref-3" rel="footnote"&gt;4&lt;/a&gt;&lt;/sup&gt; From there, the city is accessed through a narrow canyon called the Siq, which lead straight to the Treasury. Although stunning, it was the trail beyond, leading to the theater and monarchy, that truly drew me in with its magnificent views of the mountainous landscape.&lt;/p&gt;
&lt;p&gt;Furthermore, given that Petra is an extremely popular destination, we had to be prepared to ward off a variety of scam artists and hawkers; particularly at the entrance of the site and near the Treasury. This was fortunately limited to only those spots and, on a hike further in the ancient city, we were offered coffee and refreshments for next to nothing by a Bedouin mother and her daughter residing in a small settlement. It was a lovely, genuine interaction that was unfortunately interrupted by a Canadian / Lebanese couple that made continuous condescending, extremely classicist remarks about the two in both Arabic and English.&lt;/p&gt;
&lt;p&gt;After a nice dinner at our hotel, we returned to Petra for the Petra at Night showing. While often described as a tourist trap (and indeed at times tacky), the setting at night, with its candle-lit roads and music performance at the Treasury did make for an unforgettable experience. If anything, the lack of an upper ticket limit on these showings somewhat weakens the entire experience due to the noise of the large crowds overwhelming any well-intended activities by the hosts. &lt;/p&gt;
&lt;p class="center noshadow"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/53020775655/in/album-72177720309515750/" title="Petra"&gt;&lt;img alt="Petra" src="https://live.staticflickr.com/65535/53020775655_ed0b14d320_z.jpg" style="width:500px;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h2 id="wadi-rum"&gt;&lt;a class="toclink" href="#wadi-rum"&gt;Wadi Rum (وادي رم)&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Also known as the Valley of the Moon, Wadi Rum is a desert valley located in southern Jordan, renowned for its stunning desert landscapes and towering sandstone mountains. Incidentally it is where filming took place for Dune Part II several weeks prior to our arrival.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/53020406231/in/album-72177720309515750/" title="Wadi Rum"&gt;&lt;img alt="Wadi Rum" src="https://live.staticflickr.com/65535/53020406231_eb9dbe6076_z.jpg" style="Width: 45%;"/&gt;&lt;/a&gt;
&lt;a class="center border" href="https://www.flickr.com/photos/147061735@N04/53020406231/in/album-72177720309515750/" title="Wadi Rum"&gt;&lt;img alt="Wadi Rum" src="https://live.staticflickr.com/65535/53020576349_28b25e06e4_z.jpg" style="Width: 45%;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Wadi Rum has a rich Bedouin heritage, and many Bedouin communities reside in the area, thriving on tourism. Deciding to stay the night at one of these camps, we took local transport to a gas station nearby Wadi Rum, where we were picked by jeep by our hosts.&lt;/p&gt;
&lt;p&gt;As part of our stay, we had a four hour jeep ride through the dessert, visiting several noteworthy areas: an absolutely exhausting sand-dune climb, a visit to cave walls with petroglyphs depicting camels, a stop at the Jabal Burdah rock bridge, and a stop at a hill we could hike to observe the sunset.&lt;/p&gt;
&lt;p&gt;Our group had a variety of mostly older, western visitors, and while our hosts looked to have fun, there were a few moments that felt awkward, such as seeing some of the younger Bedouin perform several songs and dances to the observing audience. There was a moment of joy when one of them, later on, almost mockingly subverted these power dynamics rooted in orientalism, and standing from higher ground, requested one of the guests to dance to Sweet Caroline, playing from the jeep’s radio.&lt;/p&gt;
&lt;p&gt;Later that night, our Bedouin hosts prepared a traditional chicken-based dish they had put in a clay pot and buried under the sand earlier that day, followed by a conversation at a bonfire. This was slightly derailed by several younger guests that brought a bottle of vodka and made lewd remarks, intentionally putting our hosts in an embarrassing spot.&lt;/p&gt;
&lt;p&gt;Stargazing in Wadi Rum, under a clear, starry night, was an absolute highlight in my life, though, fr fr. &lt;/p&gt;
&lt;p class="center noshadow"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/53020407446/in/album-72177720309515750/" title="Wadi Rum"&gt;&lt;img alt="Wadi Rum" src="https://live.staticflickr.com/65535/53020797220_7937965a0c_z.jpg" style="height:500px;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/53020406231/in/album-72177720309515750/" title="Wadi Rum"&gt;&lt;img alt="Wadi Rum" src="https://live.staticflickr.com/65535/53020794125_112d966cf8_z.jpg" style="height: 45%;"/&gt;&lt;/a&gt;
&lt;a class="center border" href="https://www.flickr.com/photos/147061735@N04/53020406231/in/album-72177720309515750/" title="Wadi Rum"&gt;&lt;img alt="Wadi Rum" src="https://live.staticflickr.com/65535/53020407446_ec76355d14_z.jpg" style="height: 45%;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h2 id="aqaba"&gt;&lt;a class="toclink" href="#aqaba"&gt;Aqaba (الْعَقَبَة)&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Aqaba, Jordan’s only seaport, is a coastal city located in the southernmost part of the country, situated along the northeastern tip of the Red Sea. As is common for major port cities, it served (and continues to do so) as an important trade hub throughout history – made more evident by the numerous affluent tourists and businessmen we saw during our short stay here.&lt;/p&gt;
&lt;p class="center noshadow"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/53020407446/in/album-72177720309515750/" title="Aqaba"&gt;&lt;img alt="Aqaba" src="https://live.staticflickr.com/65535/53020389601_75f36f6946_z.jpg" style="height:500px;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;We were lucky to strike a great deal for our hotel, which usually went for triple the price and was located in what was practically a closed community, Marina Village. Although quite the bourgeois splurge, we had an incredible view from our hotel, with an even more astonishing breakfast service (who would have thunk that they could outdo the French in making croissants).&lt;/p&gt;
&lt;p&gt;Although we had planned to go on a dive in the Red Sea, both of us unfortunately caught a small cold earlier on the trip and, given the many horror stories of diving with a cold, we switched to snorkeling instead. This was a mistake and in hindsight I might have preferred the damage to my ears. Although our coach was definitely trying to excite us whenever he came across interesting views, I was too occupied trying not to drown every time a wave splashed a bucket of water in my snorkel. The boat ride itself, however, was very pleasant. We had BBQ on board, and ended up chatting a while with a fellow PhD student and his wife, both from the United States.&lt;/p&gt;
&lt;p&gt;Back in the city, we stocked up on a variety of spices and tea, and got a recommendation by the owner for a fantastic fish restaurant. Our waiter was incredibly jovial, adding extra food and drinks to our order because the Belgian soccer team had just lost a friendly match with Egypt (“so I should eat my sadness away”). The table in front of us, a group of 12 people, demanded separate bills with shared dishes split between whoever ate from it–annoying our waiter to the point that he showed us him drawing a donkey on the back of their receipts before handing it to them (we received a hand drawn rose on ours, which was adorable). &lt;/p&gt;
&lt;p class="center noshadow"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/53020407446/in/album-72177720309515750/" title="Aqaba"&gt;&lt;img alt="Aqaba" src="https://live.staticflickr.com/65535/53020557104_50bef6f69b_z.jpg" style="height:500px;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h2 id="dead-sea"&gt;&lt;a class="toclink" href="#dead-sea"&gt;Dead Sea (اَلْبَحْرُ الْمَيْتُ)&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The Dead Sea is a saltwater lake bordered by Jordan to the east and Palestine to the west, as well as the lowest point on Earth, situated more than 400 meters below sea level. The lake is one of the saltiest bodies of water in the world, known for its high salt concentration and buoyancy that allows people to float on its surface.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/53020406231/in/album-72177720309515750/" title="Dead Sea"&gt;&lt;img alt="Dead Sea" src="https://live.staticflickr.com/65535/53020880323_f5e4b4b608_z.jpg" style="Width: 45%;"/&gt;&lt;/a&gt;
&lt;a class="center border" href="https://www.flickr.com/photos/147061735@N04/53020406231/in/album-72177720309515750/" title="Dead Sea"&gt;&lt;img alt="Dead Sea" src="https://live.staticflickr.com/65535/53020566659_da0d23c00d_z.jpg" style="Width: 45%;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Bathing in the Dead Sea is definitely a unique, once-in-a-lifetime experience; yet also quite otherworldly and slightly uncomfortable–the water, while famous for its therapeutic properties due to the mineral-rich mud and minerals found in it, also tends to bite into the skin and we were recommended not stay longer than 10 - 15 minutes in it (followed by a shower, covering ourselves in dead sea mud, and another shower).&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-4" id="fnref-4" rel="footnote"&gt;5&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p class="center noshadow"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/53020407446/in/album-72177720309515750/" title="Dead Sea Sunset"&gt;&lt;img alt="Dead Sea Sunset" src="https://live.staticflickr.com/65535/53019813367_8a972a8464_z.jpg" style="height:500px;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h2 id="amman"&gt;&lt;a class="toclink" href="#amman"&gt;Amman (عَمَّان)&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Amman is the capital and largest city of Jordan, situated in the northwest part of the country.&lt;/p&gt;
&lt;p&gt;Several people recommended us a particular restaurant, Da7berha (مطعم دحبرها),&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-6" id="fnref-6" rel="footnote"&gt;7&lt;/a&gt;&lt;/sup&gt; to try what is considered Jordan’s national dish: Mansaf, a dish made of lamb cooked in fermented dried yogurt and served with rice, eaten with your hands. Although the place can allegedly be a bit unfriendly or overcharge when catering to a foreign audience that doesn’t know how to order or act as a local,&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-5" id="fnref-5" rel="footnote"&gt;6&lt;/a&gt;&lt;/sup&gt; we had a good experience here. We followed up with another national dish, Kunafa, at Habibah Sweets (الحلو حبيبة).&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/53020406231/in/album-72177720309515750/" title="Amman"&gt;&lt;img alt="Amman" src="https://live.staticflickr.com/65535/53019832242_d1101f0065_z.jpg" style="height: 45%;"/&gt;&lt;/a&gt;
&lt;a class="center border" href="https://www.flickr.com/photos/147061735@N04/53020406231/in/album-72177720309515750/" title="Amman musician"&gt;&lt;img alt="Amman musician" src="https://live.staticflickr.com/65535/53019832237_6836929416_z.jpg" style="height: 45%;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Another interesting experience was at more upscale, western-oriented area with stores selling products such as vinyl record players for what basically amounted to a full monthly wage. Drinks at one coffeeshop, books@cafe, were 4JD each (easily 4x the price of having coffee elsewhere), and attracted an audience of affluent Jordanians that preferred to speak in English rather than in Arabic.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-7" id="fnref-7" rel="footnote"&gt;8&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;The art-centered community building Darat al Funun and its artistic surrounding area was quite a highlight as well. We had great Sahlab, a Middle Eastern sweet milk pudding to which I’ve now become addicted to, and had a conversation with a local musician who was practicing his guitar here and had studied music in Spain in his youth. The place also hosted an academic talk by a Jordanian architectural anthropologist speaking on the transformation of refugee camps into ‘homes’, with a focus on its architectural development.&lt;/p&gt;
&lt;p&gt;Finally, in the same neighborhood, we passed by a social space for international interaction that appeared to have strong roots in left-leaning scholarship and activism, and had a dedication to Salameh Kaileh, a prominent Palestinian-Syrian intellectual and activist that settled in Jordan.&lt;/p&gt;
&lt;p class="center noshadow"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/53020775655/in/album-72177720309515750/" title="Salameh Kaileh"&gt;&lt;img alt="Salameh Kaileh" src="https://live.staticflickr.com/65535/53019831087_1e73dee4c3_z.jpg" style="width:500px;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“The problem lies not in the sparkle that but momentarily dazzles the eye. Rather, it lies in understanding the fundamental nature of that sparkle.”&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-8" id="fnref-8" rel="footnote"&gt;9&lt;/a&gt;&lt;/sup&gt; - Salameh Kaileh&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="music"&gt;&lt;a class="toclink" href="#music"&gt;Music &lt;i class="icon-music small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;While traveling, I make a habit out of listening to local radio stations or asking recommendations to people I meet in hostels or bars, as my own form of personal souvenir. One particular band I have really come to appreciate is &lt;em&gt;El Morabba3&lt;/em&gt;, an alternative rock band with post-rock influences that was particularly influential during the Arab Spring and has since shifted towards a more experimental electronic sound. (I’ve also been lucky to see them live during my time in Berlin.)&lt;/p&gt;
&lt;p&gt;&lt;span class="videobox"&gt;
&lt;iframe allowfullscreen="" frameborder="0" height="390" mozallowfullscreen="" src="https://www.youtube.com/embed/U_dMhDsUMOQ" webkitallowfullscreen="" width="640"&gt;
&lt;/iframe&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;h1 id="conclusion"&gt;&lt;a class="toclink" href="#conclusion"&gt;Conclusion &lt;i class="icon-smile small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;My trip to Jordan was my first big trip since before the pandemic, and something I had been wanting to do since I was a child. Although we had to be more wary in the massively touristic Petra, we had a pleasant and incredibly fortunate stay throughout (further mitigated by the fact that my partner speaks Arabic) and I genuinely would be happy to come back to Aqaba in the future.&lt;/p&gt;
&lt;h1 id="gallery-jordan"&gt;&lt;a class="toclink" href="#gallery-jordan"&gt;Gallery Jordan &lt;i class="icon-camera-retro small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;style&gt;.embed-container { position: relative; padding-bottom: 56.25%; padding-top: 30px; height: 0; overflow: hidden; max-width: 100%; height: auto; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }&lt;/style&gt;
&lt;div class="embed-container"&gt;&lt;iframe allowfullscreen="" frameborder="0" mozallowfullscreen="" msallowfullscreen="" oallowfullscreen="" src="https://www.flickr.com/photos/147061735@N04/sets/72177720309515750/player" webkitallowfullscreen=""&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;div class="footnote"&gt;
&lt;hr/&gt;
&lt;ol&gt;
&lt;li id="fn-footnote"&gt;
&lt;p&gt;Jordan by Stevie Poppe (&lt;a href="https://flic.kr/p/2fMA1vY"&gt;https://flic.kr/p/2fMA1vY&lt;/a&gt; - CC BY-SA 2.0) &lt;a class="footnote-backref" href="#fnref-footnote" title="Jump back to footnote 1 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-1"&gt;
&lt;p&gt;Good tip also to save on taxi negotiations. The app itself has English support, but drivers might not speak English so it’s best to be prepared and have a written address in Arabic ready. (Alternative tip, go with someone that speaks the language 🙃) &lt;a class="footnote-backref" href="#fnref-1" title="Jump back to footnote 2 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-2"&gt;
&lt;p&gt;On a fun side note, our hotel had two flags raised upon arrival: a Belgian flag and Japanese flag. Weird coincidence? &lt;a class="footnote-backref" href="#fnref-2" title="Jump back to footnote 3 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-3"&gt;
&lt;p&gt;The entrance to the historical site of Petra can be rather steep to tourists (locals and tourists from the middle east pay next to nothing), so buying a Jordan Pass, which includes a tourist visa and a variety of popular attractions including Petra, will probably be the best deal for most. &lt;a class="footnote-backref" href="#fnref-3" title="Jump back to footnote 4 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-4"&gt;
&lt;p&gt;Despite being right at the actual Dead Sea, this isn’t the best place to buy Dead Sea products like salt scrubs or mud masks; most of the nearby places are rather tourist-oriented and heavily upmarked. Get stuff from local stores in Aqaba or Amman. &lt;a class="footnote-backref" href="#fnref-4" title="Jump back to footnote 5 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-5"&gt;
&lt;p&gt;Reminding me a bit of my experience at some of the more local ramen places in Japan. In this case, we entered as if we had been there before, and just replied that it was the two of us when he asked us in Arabic how many of us should be seated. That was it. &lt;a class="footnote-backref" href="#fnref-5" title="Jump back to footnote 6 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-6"&gt;
&lt;p&gt;The name apparently means “the act of rolling rice in your hands”. &lt;a class="footnote-backref" href="#fnref-6" title="Jump back to footnote 7 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-7"&gt;
&lt;p&gt;A topic also touched upon by the excellent Egyptian graphic novel Shubeik Lubeik, for which I’ll write a review at some point. &lt;a class="footnote-backref" href="#fnref-7" title="Jump back to footnote 8 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-8"&gt;
&lt;p&gt;An argument for a return to dialectic materialism in the Arabic leftist intellectual scene. &lt;a class="footnote-backref" href="#fnref-8" title="Jump back to footnote 9 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="Personal"></category><category term="Travels"></category><category term="Jordan"></category></entry><entry><title>“From Y”: A mixed-method analysis of the Twitter Account of Abe Shinzo’s killer</title><link href="https://steviepoppe.net/publication/from-y/" rel="alternate"></link><published>2022-08-19T00:00:00+02:00</published><updated>2022-08-19T00:00:00+02:00</updated><author><name>Stevie Poppe</name></author><id>tag:steviepoppe.net,2022-08-19:/publication/from-y/</id><content type="html">&lt;h1 id="abstract"&gt;&lt;a class="toclink" href="#abstract"&gt;Abstract&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Reports on the murder of former Japanese Prime Minister Abe Shinzō, even after details on the perpetrator’s Twitter account were made public, reinforce ideas that 1) the perpetrator’s motives were not inherently political and 2) stem from a personal grudge against the Unification Church and the belief that Abe Shinzō was deeply tied to this group. Through a mixed-method content and discourse analysis of his Twitter account, we find that 1) the perpetrator’s worldview is distinctly political and ties into the belief systems associated with online right-wing and misogynist sub-cultural communities, and 2) his account reads as a fragmented manifesto combining self-victimized accounts of his past intertwined with the above political views. Based on these findings, we argue that the perpetrator’s actions are driven both by his political beliefs and by a sense of manifest destiny and urgency we associate with internet-radicalized terrorists and the highly networked communities driving them.&lt;/p&gt;
&lt;h1 id="citation"&gt;&lt;a class="toclink" href="#citation"&gt;Citation&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Poppe, S. (2022). “From Y”: A mixed-method analysis of the Twitter Account of Abe Shinzō’s killer. Retrieved from: &lt;a href="https://www.digital-japan.org/2022/08/19/analysis-of-the-twitter-account-of-abe-shinzos-killer/"&gt;https://www.digital-japan.org/2022/08/19/analysis-of-the-twitter-account-of-abe-shinzos-killer/&lt;/a&gt;&lt;/p&gt;</content><category term="Publication"></category><category term="Corpus linguistics"></category><category term="Internet-right"></category><category term="Media analysis"></category></entry><entry><title>A Quick Guide to Data-mining &amp; (Textual) Analysis of (Japanese) Twitter Part 4: Natural Language Processing With MeCab, Neologd and NLTK</title><link href="https://steviepoppe.net/blog/2020/07/a-quick-guide-to-data-mining-textual-analysis-of-japanese-twitter-part-4/" rel="alternate"></link><published>2020-07-05T00:00:00+02:00</published><updated>2020-07-05T00:00:00+02:00</updated><author><name>Stevie Poppe</name></author><id>tag:steviepoppe.net,2020-07-05:/blog/2020/07/a-quick-guide-to-data-mining-textual-analysis-of-japanese-twitter-part-4/</id><summary type="html">&lt;p&gt;&lt;em&gt;This short series of blogs chronicles the bare-bones required to conduct a basic form of social media analysis on corpora of (Japanese) Tweets. It is primarily intended for &lt;/em&gt;&lt;em&gt;undergraduate and graduate students&lt;/em&gt;&lt;em&gt; whose topics of research include contemporary Japan or its online vox populi, and want to strengthen their existing research (such as an undergraduate thesis or term paper) with a social media-based quantitative angle.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;This fourth blog follows up on the MeCab + NEologd set-up described in the third part of this series, and introduces the reader to some of possibilities when working with python-based NLP tools such as NLTK. Concretely, we will:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;i class="icon-check"&gt;&lt;/i&gt; Import the python wrapper mecab-python, necessary to use MeCab in our python scripts,&lt;/li&gt;
&lt;li&gt;&lt;i class="icon-check"&gt;&lt;/i&gt; Learn about NLP tools like NLTK,&lt;/li&gt;
&lt;li&gt;&lt;i class="icon-check"&gt;&lt;/i&gt; Perform a basic sentiment analysis on a corpus of Japanese tweets.&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id="set-up"&gt;&lt;a class="toclink" href="#set-up"&gt;Set-up&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="mecab-python-binding"&gt;&lt;a class="toclink" href="#mecab-python-binding"&gt;MeCab python binding&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Having set-up MeCab, we now require a python binding in order to use MeCab in our python scripts. As usual, install the required python library using &lt;strong&gt;pip&lt;/strong&gt; in the command prompt: &lt;code&gt;pip install mecab&lt;/code&gt;.&lt;sup&gt;&lt;/sup&gt; Upon installation, let’s test our set-up by using the &lt;code&gt;python&lt;/code&gt; command in the command prompt and copy-pasting the code examples below.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example 1:&lt;/strong&gt;&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt;1&lt;/span&gt;
&lt;span class="normal"&gt;2&lt;/span&gt;
&lt;span class="normal"&gt;3&lt;/span&gt;
&lt;span class="normal"&gt;4&lt;/span&gt;
&lt;span class="normal"&gt;5&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;MeCab&lt;/span&gt;

&lt;span class="n"&gt;tagger&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;MeCab&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Tagger&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="n"&gt;parsed&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tagger&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;parse&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"お母さんが作ってくれた魚フライ定食を食べてみたいです。"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;parsed&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;The MeCab.Tagger function accepts several arguments we can pass to MeCab:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;-d&lt;/code&gt;: path to one or more tokenizer dictionaries.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-E&lt;/code&gt;: Which escape sequence to use at the end of the parsed string (tabs: \t, backspaces: \b, newlines: \n, etc; don’t forget to escape the backslash with an additional backslash).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-O&lt;/code&gt;: Quick-formatting options. Wakati (short for &lt;em&gt;wakachi-gaki&lt;/em&gt;, 分かち書き), for example, is a tokenizer option for returning a string with only the surface form of each token, separated by spaces.&lt;sup&gt;&lt;/sup&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-F&lt;/code&gt;: Grants us more control over the output formatting. Adding &lt;code&gt;-F%m:\\t\\t%f[0]\\n&lt;/code&gt;, for example, will format the outcome as seen in &lt;strong&gt;figure 4&lt;/strong&gt;: the token surface form and the first element of the ‘&lt;a href="https://en.wikipedia.org/wiki/Feature_(machine_learning)"&gt;features&lt;/a&gt;‘ array (part-of-speech), separated by tab spaces.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;–unk-feature&lt;/code&gt;: set the return value of the part-of-speech column for unknown words (e.g. to &lt;em&gt;unknown&lt;/em&gt; or to 未知語).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Example 2:&lt;/strong&gt;&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt;1&lt;/span&gt;
&lt;span class="normal"&gt;2&lt;/span&gt;
&lt;span class="normal"&gt;3&lt;/span&gt;
&lt;span class="normal"&gt;4&lt;/span&gt;
&lt;span class="normal"&gt;5&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;MeCab&lt;/span&gt;
&lt;span class="n"&gt;tagger&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;MeCab&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Tagger …&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary><content type="html">&lt;p&gt;&lt;em&gt;This short series of blogs chronicles the bare-bones required to conduct a basic form of social media analysis on corpora of (Japanese) Tweets. It is primarily intended for &lt;/em&gt;&lt;em&gt;undergraduate and graduate students&lt;/em&gt;&lt;em&gt; whose topics of research include contemporary Japan or its online vox populi, and want to strengthen their existing research (such as an undergraduate thesis or term paper) with a social media-based quantitative angle.&lt;/em&gt;&lt;/p&gt;


&lt;p&gt;This fourth blog follows up on the MeCab + NEologd set-up described in the third part of this series, and introduces the reader to some of possibilities when working with python-based NLP tools such as NLTK. Concretely, we will:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;i class="icon-check"&gt;&lt;/i&gt; Import the python wrapper mecab-python, necessary to use MeCab in our python scripts,&lt;/li&gt;
&lt;li&gt;&lt;i class="icon-check"&gt;&lt;/i&gt; Learn about NLP tools like NLTK,&lt;/li&gt;
&lt;li&gt;&lt;i class="icon-check"&gt;&lt;/i&gt; Perform a basic sentiment analysis on a corpus of Japanese tweets.&lt;/li&gt;
&lt;/ul&gt;

&lt;h1 id="set-up"&gt;&lt;a class="toclink" href="#set-up"&gt;Set-up&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="mecab-python-binding"&gt;&lt;a class="toclink" href="#mecab-python-binding"&gt;MeCab python binding&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Having set-up MeCab, we now require a python binding in order to use MeCab in our python scripts. As usual, install the required python library using &lt;strong&gt;pip&lt;/strong&gt; in the command prompt: &lt;code&gt;pip install mecab&lt;/code&gt;.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-1" id="fnref-1" rel="footnote"&gt;2&lt;/a&gt;&lt;/sup&gt; Upon installation, let’s test our set-up by using the &lt;code&gt;python&lt;/code&gt; command in the command prompt and copy-pasting the code examples below.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example 1:&lt;/strong&gt;&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt;1&lt;/span&gt;
&lt;span class="normal"&gt;2&lt;/span&gt;
&lt;span class="normal"&gt;3&lt;/span&gt;
&lt;span class="normal"&gt;4&lt;/span&gt;
&lt;span class="normal"&gt;5&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;MeCab&lt;/span&gt;

&lt;span class="n"&gt;tagger&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;MeCab&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Tagger&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="n"&gt;parsed&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tagger&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;parse&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"お母さんが作ってくれた魚フライ定食を食べてみたいです。"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;parsed&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;The MeCab.Tagger function accepts several arguments we can pass to MeCab:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;-d&lt;/code&gt;: path to one or more tokenizer dictionaries.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-E&lt;/code&gt;: Which escape sequence to use at the end of the parsed string (tabs: \t, backspaces: \b, newlines: \n, etc; don’t forget to escape the backslash with an additional backslash).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-O&lt;/code&gt;: Quick-formatting options. Wakati (short for &lt;em&gt;wakachi-gaki&lt;/em&gt;, 分かち書き), for example, is a tokenizer option for returning a string with only the surface form of each token, separated by spaces.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-2" id="fnref-2" rel="footnote"&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-F&lt;/code&gt;: Grants us more control over the output formatting. Adding &lt;code&gt;-F%m:\\t\\t%f[0]\\n&lt;/code&gt;, for example, will format the outcome as seen in &lt;strong&gt;figure 4&lt;/strong&gt;: the token surface form and the first element of the ‘&lt;a href="https://en.wikipedia.org/wiki/Feature_(machine_learning)"&gt;features&lt;/a&gt;‘ array (part-of-speech), separated by tab spaces.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;–unk-feature&lt;/code&gt;: set the return value of the part-of-speech column for unknown words (e.g. to &lt;em&gt;unknown&lt;/em&gt; or to 未知語).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Example 2:&lt;/strong&gt;&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt;1&lt;/span&gt;
&lt;span class="normal"&gt;2&lt;/span&gt;
&lt;span class="normal"&gt;3&lt;/span&gt;
&lt;span class="normal"&gt;4&lt;/span&gt;
&lt;span class="normal"&gt;5&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;MeCab&lt;/span&gt;
&lt;span class="n"&gt;tagger&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;MeCab&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Tagger&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"-F%m:&lt;/span&gt;&lt;span class="se"&gt;\\&lt;/span&gt;&lt;span class="s2"&gt;t&lt;/span&gt;&lt;span class="si"&gt;%f&lt;/span&gt;&lt;span class="s2"&gt;[0]&lt;/span&gt;&lt;span class="se"&gt;\\&lt;/span&gt;&lt;span class="s2"&gt;n -E&lt;/span&gt;&lt;span class="se"&gt;\\&lt;/span&gt;&lt;span class="s2"&gt;n --unk-feature 未知語"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;text&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"うわー！母が作ってくれた魚フライ定食は素敵だったな～！？ウェーーーーイイイイイイイイィ！"&lt;/span&gt;
&lt;span class="n"&gt;parsed&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tagger&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;parse&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;parsed&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;h2 id="normalizing-japanese-text-with-neologdn-optional"&gt;&lt;a class="toclink" href="#normalizing-japanese-text-with-neologdn-optional"&gt;Normalizing Japanese text with Neologdn (optional)&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://github.com/ikegami-yukino/neologdn"&gt;This&lt;/a&gt; small library consists of several regular expressions helpful in normalizing common tendencies of Japanese text on social media, such as converting half-width characters to full-width and removing dramatizing hyphens. As always, install with &lt;strong&gt;pip&lt;/strong&gt;: &lt;code&gt;pip install neologdn&lt;/code&gt;, and try out the script below as example or read the documentation for further usage.&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt;1&lt;/span&gt;
&lt;span class="normal"&gt;2&lt;/span&gt;
&lt;span class="normal"&gt;3&lt;/span&gt;
&lt;span class="normal"&gt;4&lt;/span&gt;
&lt;span class="normal"&gt;5&lt;/span&gt;
&lt;span class="normal"&gt;6&lt;/span&gt;
&lt;span class="normal"&gt;7&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;MeCab&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;neologdn&lt;/span&gt;
&lt;span class="n"&gt;tagger&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;MeCab&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Tagger&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"-O wakati"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;text&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;" ﾊﾝｶｸｶﾅっ　　　ウェーーーーイイイイイイイイィっ！？"&lt;/span&gt;
&lt;span class="n"&gt;text&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;neologdn&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;normalize&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;repeat&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;parsed&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tagger&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;parse&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;parsed&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;h1 id="using-mecab-with-nltk"&gt;&lt;a class="toclink" href="#using-mecab-with-nltk"&gt;Using MeCab with NLTK&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Having set up the above, we can now further integrate this into one of the python NLP libraries. With its focus on speed and efficiency, SpaCy is popular for real-life applications while NLTK (Natural Language Toolkit) remains a popular for experimentation among students and researchers. The choice for NLTK was fairly arbitrary and the examples below are easily accomplished in both libraries. To install NLTK, use &lt;strong&gt;pip&lt;/strong&gt; from the command line: &lt;code&gt;pip install NLTK&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id="frequency-distribution"&gt;&lt;a class="toclink" href="#frequency-distribution"&gt;Frequency distribution&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The script below combines the steps we have taken thus far with the common NLP practice of calculating and analyzing the frequency distribution of texts, something we have done using KH Coder in the previous article. For visualization, we will be using the external Python library &lt;strong&gt;&lt;a href="https://matplotlib.org/"&gt;matplotlib&lt;/a&gt;&lt;/strong&gt;. As always, we will have to install such libraries with &lt;strong&gt;pip&lt;/strong&gt;: &lt;code&gt;pip install matplotlib&lt;/code&gt;. Running the script below will generate a graph with the 10 most frequent lemmas in the text provided, as seen in &lt;strong&gt;figure 1&lt;/strong&gt;.&lt;/p&gt;
&lt;div class="slider" style="margin: auto; text-align: center;"&gt;
&lt;div&gt;&lt;img alt="Twitter" class="fborder" src="https://steviepoppe.net/images/twitter/mecab_math.png" style="margin: auto; max-width: 95% !important;margin-bottom: 10px;width: 560px; height: auto; max-width: 100%;"/&gt;&lt;span&gt;&lt;strong&gt;Figure 1:&lt;/strong&gt; Frequency distribution (filtered).&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;img alt="Twitter" class="fborder" src="https://steviepoppe.net/images/twitter/mecab_math2.png" style="margin: auto; max-width: 95% !important;margin-bottom: 10px;width: 561px; height: auto; max-width: 100%;"/&gt;&lt;span&gt;&lt;strong&gt;Figure 2:&lt;/strong&gt; Frequency distribution (unfiltered).&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;The script below takes several further steps to removing noise by filtering tokens based on their POS-tags (thus excluding particles, conjugations in the form of auxiliary verbs, pronouns, pre- and suffixes, symbols, exclamations, etc). Moreover, the script below uses, if available, the dictionary form of segmented words. &lt;strong&gt;Figure 2&lt;/strong&gt; is an illustration of the outcome when that step is not taken.&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt; 1&lt;/span&gt;
&lt;span class="normal"&gt; 2&lt;/span&gt;
&lt;span class="normal"&gt; 3&lt;/span&gt;
&lt;span class="normal"&gt; 4&lt;/span&gt;
&lt;span class="normal"&gt; 5&lt;/span&gt;
&lt;span class="normal"&gt; 6&lt;/span&gt;
&lt;span class="normal"&gt; 7&lt;/span&gt;
&lt;span class="normal"&gt; 8&lt;/span&gt;
&lt;span class="normal"&gt; 9&lt;/span&gt;
&lt;span class="normal"&gt;10&lt;/span&gt;
&lt;span class="normal"&gt;11&lt;/span&gt;
&lt;span class="normal"&gt;12&lt;/span&gt;
&lt;span class="normal"&gt;13&lt;/span&gt;
&lt;span class="normal"&gt;14&lt;/span&gt;
&lt;span class="normal"&gt;15&lt;/span&gt;
&lt;span class="normal"&gt;16&lt;/span&gt;
&lt;span class="normal"&gt;17&lt;/span&gt;
&lt;span class="normal"&gt;18&lt;/span&gt;
&lt;span class="normal"&gt;19&lt;/span&gt;
&lt;span class="normal"&gt;20&lt;/span&gt;
&lt;span class="normal"&gt;21&lt;/span&gt;
&lt;span class="normal"&gt;22&lt;/span&gt;
&lt;span class="normal"&gt;23&lt;/span&gt;
&lt;span class="normal"&gt;24&lt;/span&gt;
&lt;span class="normal"&gt;25&lt;/span&gt;
&lt;span class="normal"&gt;26&lt;/span&gt;
&lt;span class="normal"&gt;27&lt;/span&gt;
&lt;span class="normal"&gt;28&lt;/span&gt;
&lt;span class="normal"&gt;29&lt;/span&gt;
&lt;span class="normal"&gt;30&lt;/span&gt;
&lt;span class="normal"&gt;31&lt;/span&gt;
&lt;span class="normal"&gt;32&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="c1"&gt;# coding=utf-8&lt;/span&gt;

&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;MeCab&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;neologdn&lt;/span&gt;
&lt;span class="c1"&gt;#Using tabs to separate lemmas and then tokenizing by splitting on tabs retains proper nouns separated by half-width spaces &lt;/span&gt;
&lt;span class="n"&gt;tagger&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;MeCab&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Tagger&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"-F%m&lt;/span&gt;&lt;span class="se"&gt;\\&lt;/span&gt;&lt;span class="s2"&gt;t --unk-feature 未知語"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;nltk.probability&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;FreqDist&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;matplotlib&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;rcParams&lt;/span&gt;
&lt;span class="n"&gt;rcParams&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'font.family'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'sans-serif'&lt;/span&gt;
&lt;span class="n"&gt;rcParams&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'font.sans-serif'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'Hiragino Maru Gothic Pro'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'Yu Gothic'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'Meirio'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'Takao'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'IPAexGothic'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'IPAPGothic'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'VL PGothic'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'Noto Sans CJK JP'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

&lt;span class="n"&gt;CONTENT_WORD_POS&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"名詞"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"動詞"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"形容詞"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"副詞"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"未知語"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;IGNORE&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"接尾"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"非自立"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"代名詞"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;is_content_word&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;feature&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;feature&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;startswith&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;CONTENT_WORD_POS&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="ow"&gt;and&lt;/span&gt; &lt;span class="nb"&gt;all&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;IGNORE&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;feature&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;split&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;","&lt;/span&gt;&lt;span class="p"&gt;)[:&lt;/span&gt;&lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="vm"&gt;__name__&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s1"&gt;'__main__'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;text&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"１９２３年の関東大震災が起こった時、ベルギー人がためらわず、救援活動を行ったり資金集めをしたりしたのは、この友好的な日本との関係のためだと言えます。王族と、新たに設立されたベルギー国内委員会が協力して大規模な救援活動を実施しました。私の故郷アントワープを含むベルギーの全国各地でも教会と戦争の退役軍人が協力して「Japan Day」という催しを行いました。他にも、ベルギー人の芸術家達が作品を集めたり新作を発表したりして特別な貢献をしました。まずはブリュッセルで、次に日本で作品の展示発売や展覧会を開催し、売り上げや入場料の利益は全て救援活動のために寄付されました。日本の展覧会だけでも3万５千人もの観客が訪れたと報告されていて、その上、日本の皇太子様と皇后様が30点もの芸術品をご購入されたと聞いております。"&lt;/span&gt;
    &lt;span class="n"&gt;text&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;neologdn&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;normalize&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;repeat&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="c1"&gt;#some more noise removal&lt;/span&gt;
    &lt;span class="n"&gt;text&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;''&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;join&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;text&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;isalpha&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="ow"&gt;or&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;isspace&lt;/span&gt;&lt;span class="p"&gt;()])&lt;/span&gt;
    &lt;span class="n"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tagger&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;parseToNode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="n"&gt;content_words&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;
    &lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;is_content_word&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;feature&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
            &lt;span class="n"&gt;lemma&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;feature&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;split&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;","&lt;/span&gt;&lt;span class="p"&gt;)[&lt;/span&gt;&lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;feature&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;split&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;","&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;6&lt;/span&gt; &lt;span class="ow"&gt;and&lt;/span&gt; &lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;feature&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;split&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;","&lt;/span&gt;&lt;span class="p"&gt;)[&lt;/span&gt;&lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="ow"&gt;is&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="s2"&gt;"*"&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;surface&lt;/span&gt;
            &lt;span class="n"&gt;content_words&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;append&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="n"&gt;lemma&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
        &lt;span class="n"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;next&lt;/span&gt;
    &lt;span class="n"&gt;fdist&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;FreqDist&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;content_words&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;fdist&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;plot&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;cumulative&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;False&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;div class="admonition note"&gt;
&lt;p class="admonition-title"&gt;Note&lt;/p&gt;
&lt;p&gt;When dealing with Japanese text directly within a python environment, a declaration of text-encoding is required as first or second line (as seen in &lt;strong&gt;line 1&lt;/strong&gt;). Furthermore, &lt;strong&gt;Lines 10 &amp;amp; 11&lt;/strong&gt; are required to display Japanese text in the generated mathlib graph.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="admonition note"&gt;
&lt;p class="admonition-title"&gt;Note 2&lt;/p&gt;
&lt;p&gt;The text example above uses a paragraph from a Japanese speech I wrote several years ago, published on this blog. It refers to a particular historical event, “Japan Day”, which is clearly split into two distinct lemmas. Furthermore, and although there are specific rules for that, ベルギー&lt;span lang="ja"&gt;&lt;ruby&gt;&lt;rb&gt;人&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;じん&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;&lt;/span&gt; and &lt;span lang="ja"&gt;&lt;ruby&gt;&lt;rb&gt;芸術家&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;げいじゅつか&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;&lt;/span&gt; are both split in two lemmas while &lt;span lang="ja"&gt;&lt;ruby&gt;&lt;rb&gt;芸術品&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;げいじゅつひん&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;&lt;/span&gt; is taken as one lemma. To make matters worse, &lt;span lang="ja"&gt;&lt;ruby&gt;&lt;rb&gt;人&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;じん&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;&lt;/span&gt; and &lt;span lang="ja"&gt;&lt;ruby&gt;&lt;rb&gt;家&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;か&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;&lt;/span&gt; are correctly seen as suffixes in this context and thus removed from our bag of words based on our filtering. In other words, if we want more coarse-grained results, manual normalization is required.&lt;/p&gt;
&lt;/div&gt;
&lt;h2 id="stop-words-optional"&gt;&lt;a class="toclink" href="#stop-words-optional"&gt;Stop-words (optional)&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Stop-words refers to the most commonly used words in natural language; words we might want to filter out of our corpora depending on the context. NLTK has stop-word functionality and comes with lists of stop-words for 16 different languages. Those do not include Japanese, however, and we will have to add that manually.&lt;/p&gt;
&lt;p&gt;An NLTK stop-word list is merely a text-file of words separated by newlines and stored in nltk_data\corpora\stopwords by their language (without the .txt extension).&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-3" id="fnref-3" rel="footnote"&gt;4&lt;/a&gt;&lt;/sup&gt; For now I recommend &lt;a href="https://github.com/stopwords-iso/stopwords-ja/blob/master/stopwords-ja.txt"&gt;this one&lt;/a&gt; (the same one we have used in the previous guide). Save this in the NLTK stopwords folder as ‘Japanese’, without .txt extension. &lt;strong&gt;figure 3&lt;/strong&gt; displays the result of running an edited python script filtering out stop-words.&lt;/p&gt;
&lt;div class="slider" style="margin: auto; text-align: center;"&gt;
&lt;div&gt;&lt;img alt="Twitter" class="fborder" src="https://steviepoppe.net/images/twitter/mecab_math3.png" style="margin: auto; max-width: 95% !important;margin-bottom: 10px;width: 640px; height: auto; max-width: 100%;"/&gt;&lt;span&gt;&lt;strong&gt;Figure 3:&lt;/strong&gt; Frequency distribution (filtered with stop-word list).&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;img alt="Twitter" class="fborder" src="https://steviepoppe.net/images/twitter/cmd_nltk_stopwords.png" style="margin: auto; max-width: 95% !important;margin-bottom: 10px;width: 1103px; height: auto; max-width: 100%;"/&gt;&lt;span&gt;&lt;strong&gt;Figure 4:&lt;/strong&gt; Comparison of English and Japanese stop-word lists.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt; 1&lt;/span&gt;
&lt;span class="normal"&gt; 2&lt;/span&gt;
&lt;span class="normal"&gt; 3&lt;/span&gt;
&lt;span class="normal"&gt; 4&lt;/span&gt;
&lt;span class="normal"&gt; 5&lt;/span&gt;
&lt;span class="normal"&gt; 6&lt;/span&gt;
&lt;span class="normal"&gt; 7&lt;/span&gt;
&lt;span class="normal"&gt; 8&lt;/span&gt;
&lt;span class="normal"&gt; 9&lt;/span&gt;
&lt;span class="normal"&gt;10&lt;/span&gt;
&lt;span class="normal"&gt;11&lt;/span&gt;
&lt;span class="normal"&gt;12&lt;/span&gt;
&lt;span class="normal"&gt;13&lt;/span&gt;
&lt;span class="normal"&gt;14&lt;/span&gt;
&lt;span class="normal"&gt;15&lt;/span&gt;
&lt;span class="normal"&gt;16&lt;/span&gt;
&lt;span class="normal"&gt;17&lt;/span&gt;
&lt;span class="normal"&gt;18&lt;/span&gt;
&lt;span class="normal"&gt;19&lt;/span&gt;
&lt;span class="normal"&gt;20&lt;/span&gt;
&lt;span class="normal"&gt;21&lt;/span&gt;
&lt;span class="normal"&gt;22&lt;/span&gt;
&lt;span class="normal"&gt;23&lt;/span&gt;
&lt;span class="normal"&gt;24&lt;/span&gt;
&lt;span class="normal"&gt;25&lt;/span&gt;
&lt;span class="normal"&gt;26&lt;/span&gt;
&lt;span class="normal"&gt;27&lt;/span&gt;
&lt;span class="normal"&gt;28&lt;/span&gt;
&lt;span class="normal"&gt;29&lt;/span&gt;
&lt;span class="normal"&gt;30&lt;/span&gt;
&lt;span class="normal"&gt;31&lt;/span&gt;
&lt;span class="normal"&gt;32&lt;/span&gt;
&lt;span class="normal"&gt;33&lt;/span&gt;
&lt;span class="normal"&gt;34&lt;/span&gt;
&lt;span class="normal"&gt;35&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="c1"&gt;# coding=utf-8&lt;/span&gt;

&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;MeCab&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;neologdn&lt;/span&gt;
&lt;span class="n"&gt;tagger&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;MeCab&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Tagger&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"-F%m&lt;/span&gt;&lt;span class="se"&gt;\\&lt;/span&gt;&lt;span class="s2"&gt;t --unk-feature 未知語"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;nltk.corpus&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;stopwords&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;nltk.probability&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;FreqDist&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;matplotlib&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;rcParams&lt;/span&gt;
&lt;span class="n"&gt;rcParams&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'font.family'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'sans-serif'&lt;/span&gt;
&lt;span class="n"&gt;rcParams&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'font.sans-serif'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'Hiragino Maru Gothic Pro'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'Yu Gothic'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'Meirio'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'Takao'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'IPAexGothic'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'IPAPGothic'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'VL PGothic'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'Noto Sans CJK JP'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

&lt;span class="n"&gt;CONTENT_WORD_POS&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"名詞"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"動詞"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"形容詞"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"副詞"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"未知語"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;IGNORE&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"接尾"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"非自立"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"代名詞"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;is_content_word&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;feature&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;feature&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;startswith&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;CONTENT_WORD_POS&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="ow"&gt;and&lt;/span&gt; &lt;span class="nb"&gt;all&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;IGNORE&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;feature&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;split&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;","&lt;/span&gt;&lt;span class="p"&gt;)[:&lt;/span&gt;&lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="vm"&gt;__name__&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s1"&gt;'__main__'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;text&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"１９２３年の関東大震災が起こった時、ベルギー人がためらわず、救援活動を行ったり資金集めをしたりしたのは、この友好的な日本との関係のためだと言えます。王族と、新たに設立されたベルギー国内委員会が協力して大規模な救援活動を実施しました。私の故郷アントワープを含むベルギーの全国各地でも教会と戦争の退役軍人が協力して「Japan Day」という催しを行いました。他にも、ベルギー人の芸術家達が作品を集めたり新作を発表したりして特別な貢献をしました。まずはブリュッセルで、次に日本で作品の展示発売や展覧会を開催し、売り上げや入場料の利益は全て救援活動のために寄付されました。日本の展覧会だけでも3万５千人もの観客が訪れたと報告されていて、その上、日本の皇太子様と皇后様が30点もの芸術品をご購入されたと聞いております。"&lt;/span&gt;
    &lt;span class="n"&gt;text&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;neologdn&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;normalize&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;repeat&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;text&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;''&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;join&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;text&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;isalpha&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="ow"&gt;or&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;isspace&lt;/span&gt;&lt;span class="p"&gt;()])&lt;/span&gt;
    &lt;span class="n"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tagger&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;parseToNode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="n"&gt;stop_words&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;stopwords&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;words&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'japanese'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;content_words&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;

    &lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;is_content_word&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;feature&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
            &lt;span class="n"&gt;lemma&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;feature&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;split&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;","&lt;/span&gt;&lt;span class="p"&gt;)[&lt;/span&gt;&lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;feature&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;split&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;","&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;6&lt;/span&gt; &lt;span class="ow"&gt;and&lt;/span&gt; &lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;feature&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;split&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;","&lt;/span&gt;&lt;span class="p"&gt;)[&lt;/span&gt;&lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;!=&lt;/span&gt; &lt;span class="s2"&gt;"*"&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;surface&lt;/span&gt;
            &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;lemma&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;stop_words&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                &lt;span class="n"&gt;content_words&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;append&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="n"&gt;lemma&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
        &lt;span class="n"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;next&lt;/span&gt;

    &lt;span class="n"&gt;fdist&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;FreqDist&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;content_words&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;fdist&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;plot&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;cumulative&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;False&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;h2 id="sentiment-analysis"&gt;&lt;a class="toclink" href="#sentiment-analysis"&gt;Sentiment analysis&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;[Coming soon: Sentiment analysis]&lt;/p&gt;
&lt;h1 id="bringing-it-all-together-processing-tweets"&gt;&lt;a class="toclink" href="#bringing-it-all-together-processing-tweets"&gt;Bringing it all together: processing tweets&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;[Let’s apply this on a real-world example]&lt;/p&gt;
&lt;hr/&gt;
&lt;h1 id="wait-there-is-more"&gt;&lt;a class="toclink" href="#wait-there-is-more"&gt;Wait! There is more!&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;The next guide in this series will expand on the methods outlined in the second guide, paying particular attention to the most common actors related to a certain keyword as well as their network.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://steviepoppe.net/blog/2020/04/a-quick-guide-to-data-mining-textual-analysis-of-japanese-twitter/"&gt;A &lt;del&gt;Quick&lt;/del&gt; Guide to Data-mining &amp;amp; (Textual) Analysis of (Japanese) Twitter Part 1: Twitter Data Collection&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://steviepoppe.net/blog/2020/05/a-quick-guide-to-data-mining-textual-analysis-of-japanese-twitter-part-2/"&gt;A &lt;del&gt;Quick&lt;/del&gt; Guide to Data-mining &amp;amp; (Textual) Analysis of (Japanese) Twitter Part 2: Basic Metrics &amp;amp; Graphs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://steviepoppe.net/blog/2020/06/a-quick-guide-to-data-mining-textual-analysis-of-japanese-twitter-part-3/"&gt;A &lt;del&gt;Quick&lt;/del&gt; Guide to Data-mining &amp;amp; (Textual) Analysis of (Japanese) Twitter Part 3: Natural Language Processing With MeCab, Neologd and KH Coder&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#"&gt;A &lt;del&gt;Quick&lt;/del&gt; Guide to Data-mining &amp;amp; (Textual) Analysis of (Japanese) Twitter Part 5: Advanced Metrics &amp;amp; Graphs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;On a final note, it is my aim to write tutorials like these in such a way that they provide enough detail and (technical) information on the applied methodology to be useful in extended contexts, while still being accessible to less IT-savvy students. If anything is unclear, however, please do not hesitate to leave questions in the comment section below. &lt;i class="icon-hand-down"&gt;&lt;/i&gt;&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr/&gt;
&lt;ol&gt;
&lt;li id="fn-footnote"&gt;
&lt;p&gt;Still image from the 2012 Japanese animated film Wolf Children by Mamoru Hosoda, used under a Fair Use doctrine. &lt;a class="footnote-backref" href="#fnref-footnote" title="Jump back to footnote 1 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-1"&gt;
&lt;p&gt;For more information on the MeCab python library, see the &lt;a href="https://pypi.org/project/mecab/"&gt;pypi project page&lt;/a&gt; or the &lt;a href="https://qiita.com/yukinoi/items/990b6933d9f21ba0fb43"&gt;developer’s page&lt;/a&gt; (Japanese). &lt;a class="footnote-backref" href="#fnref-1" title="Jump back to footnote 2 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-2"&gt;
&lt;p&gt;The other options are “-O chasen” (to display the POS tagged tokens in ChaSen format), “-O yomi” (for displaying the reading of the token) and -“O dump” (the default options, dumps all information). &lt;a class="footnote-backref" href="#fnref-2" title="Jump back to footnote 3 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-3"&gt;
&lt;p&gt;When unsure what the NLTK path is, simply run &lt;code&gt;nltk.download()&lt;/code&gt; in python and the NLTK download manager will pop up, for me it was “C:\Users\stevie\AppData\Roaming\nltk_data\corpora\stopwords”. &lt;a class="footnote-backref" href="#fnref-3" title="Jump back to footnote 4 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="Studies"></category><category term="Big Data"></category><category term="Digital Humanities"></category><category term="Japanese"></category><category term="Python"></category><category term="Tutorial"></category><category term="Twitter"></category></entry><entry><title>A Quick Guide to Data-mining &amp; (Textual) Analysis of (Japanese) Twitter Part 3: Natural Language Processing With MeCab, Neologd and KH Coder</title><link href="https://steviepoppe.net/blog/2020/06/a-quick-guide-to-data-mining-textual-analysis-of-japanese-twitter-part-3/" rel="alternate"></link><published>2020-06-05T00:00:00+02:00</published><updated>2020-06-05T00:00:00+02:00</updated><author><name>Stevie Poppe</name></author><id>tag:steviepoppe.net,2020-06-05:/blog/2020/06/a-quick-guide-to-data-mining-textual-analysis-of-japanese-twitter-part-3/</id><summary type="html">&lt;p&gt;&lt;em&gt;This short series of blogs chronicles the bare-bones required to conduct a basic form of social media analysis on corpora of (Japanese) Tweets. It is primarily intended for &lt;/em&gt;&lt;em&gt;undergraduate and graduate students&lt;/em&gt;&lt;em&gt; whose topics of research include contemporary Japan or its online vox populi, and want to strengthen their existing research (such as an undergraduate thesis or term paper) with a social media-based quantitative angle.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;The purpose of this third blog and the next, fourth blog is to introduce the reader to the concept of natural language processing (NLP), to the techniques available for processing Japanese texts, and to some basic forms of quantitative content analysis that could be performed with that processed data. Concretely, in this third blog we will:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;i class="icon-check"&gt;&lt;/i&gt;  Learn about natural language processing in a Japanese context,&lt;/li&gt;
&lt;li&gt;&lt;i class="icon-check"&gt;&lt;/i&gt;  Set up the morphological analyzer &lt;strong&gt;MeCab&lt;/strong&gt; and the neologism dictionary &lt;strong&gt;mecab-ipadic-NEologd&lt;/strong&gt;,&lt;/li&gt;
&lt;li&gt;&lt;i class="icon-check"&gt;&lt;/i&gt;  Install and set-up the quantitative content analysis tool KH Coder,&lt;/li&gt;
&lt;li&gt;&lt;i class="icon-check"&gt;&lt;/i&gt;  Perform a rudimentary content analysis on a corpus of tweets collected with methods described in the previous two blogs.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Although this blog thus assumes that the reader has read &lt;a href="https://steviepoppe.net/blog/2020/04/a-quick-guide-to-data-mining-textual-analysis-of-japanese-twitter/"&gt;part one&lt;/a&gt; and &lt;a href="https://steviepoppe.net/blog/2020/05/a-quick-guide-to-data-mining-textual-analysis-of-japanese-twitter-part-2/"&gt;two&lt;/a&gt; of this series, it should also serve as a solid stand-alone introduction to setting up MeCab and the IPADic NEologd dictionary (as of writing still pretty much the &lt;em&gt;de-facto&lt;/em&gt; canonical tools in academic scholarship applying a form of Japanese computational linguistics) and combining them with KH Coder.&lt;/p&gt;
&lt;p&gt;Due to the nature of the field, parts of this tutorial will be rather technical and rely on having some basic experience working with the Windows command prompt or MacOS Terminal, but despite the complexity of the matter, there shouldn’t be much of a technical difficulty gap compared to the previous tutorials.&lt;sup&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;h1 id="japanese-natural-language-processing"&gt;&lt;a class="toclink" href="#japanese-natural-language-processing"&gt;Japanese Natural Language Processing&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;‘Natural language’ refers to the usage of language that has developed naturally over time among humans, encompassing methods of communication such as speech, written text and signaling. Natural Language Processing, then, is the field of developing how computers can understand and process such use of language in a cognitive way. Applications of NLP are seen anywhere ranging from AI assistants (such as Siri, Alexa or Google Assistant), to automatic translation (e.g. Google Translate), targeted advertising, and even in health-care.&lt;sup&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;An important preliminary step in processing natural language computationally is to &lt;strong&gt;tokenize&lt;/strong&gt; of language (also referred to as &lt;strong&gt;word segmentation&lt;/strong&gt;). In other words, to break down language into smaller segments …&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;em&gt;This short series of blogs chronicles the bare-bones required to conduct a basic form of social media analysis on corpora of (Japanese) Tweets. It is primarily intended for &lt;/em&gt;&lt;em&gt;undergraduate and graduate students&lt;/em&gt;&lt;em&gt; whose topics of research include contemporary Japan or its online vox populi, and want to strengthen their existing research (such as an undergraduate thesis or term paper) with a social media-based quantitative angle.&lt;/em&gt;&lt;/p&gt;


&lt;p&gt;The purpose of this third blog and the next, fourth blog is to introduce the reader to the concept of natural language processing (NLP), to the techniques available for processing Japanese texts, and to some basic forms of quantitative content analysis that could be performed with that processed data. Concretely, in this third blog we will:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;i class="icon-check"&gt;&lt;/i&gt;  Learn about natural language processing in a Japanese context,&lt;/li&gt;
&lt;li&gt;&lt;i class="icon-check"&gt;&lt;/i&gt;  Set up the morphological analyzer &lt;strong&gt;MeCab&lt;/strong&gt; and the neologism dictionary &lt;strong&gt;mecab-ipadic-NEologd&lt;/strong&gt;,&lt;/li&gt;
&lt;li&gt;&lt;i class="icon-check"&gt;&lt;/i&gt;  Install and set-up the quantitative content analysis tool KH Coder,&lt;/li&gt;
&lt;li&gt;&lt;i class="icon-check"&gt;&lt;/i&gt;  Perform a rudimentary content analysis on a corpus of tweets collected with methods described in the previous two blogs.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Although this blog thus assumes that the reader has read &lt;a href="https://steviepoppe.net/blog/2020/04/a-quick-guide-to-data-mining-textual-analysis-of-japanese-twitter/"&gt;part one&lt;/a&gt; and &lt;a href="https://steviepoppe.net/blog/2020/05/a-quick-guide-to-data-mining-textual-analysis-of-japanese-twitter-part-2/"&gt;two&lt;/a&gt; of this series, it should also serve as a solid stand-alone introduction to setting up MeCab and the IPADic NEologd dictionary (as of writing still pretty much the &lt;em&gt;de-facto&lt;/em&gt; canonical tools in academic scholarship applying a form of Japanese computational linguistics) and combining them with KH Coder.&lt;/p&gt;
&lt;p&gt;Due to the nature of the field, parts of this tutorial will be rather technical and rely on having some basic experience working with the Windows command prompt or MacOS Terminal, but despite the complexity of the matter, there shouldn’t be much of a technical difficulty gap compared to the previous tutorials.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-1" id="fnref-1" rel="footnote"&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;

&lt;h1 id="japanese-natural-language-processing"&gt;&lt;a class="toclink" href="#japanese-natural-language-processing"&gt;Japanese Natural Language Processing&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;‘Natural language’ refers to the usage of language that has developed naturally over time among humans, encompassing methods of communication such as speech, written text and signaling. Natural Language Processing, then, is the field of developing how computers can understand and process such use of language in a cognitive way. Applications of NLP are seen anywhere ranging from AI assistants (such as Siri, Alexa or Google Assistant), to automatic translation (e.g. Google Translate), targeted advertising, and even in health-care.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-2" id="fnref-2" rel="footnote"&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;An important preliminary step in processing natural language computationally is to &lt;strong&gt;tokenize&lt;/strong&gt; of language (also referred to as &lt;strong&gt;word segmentation&lt;/strong&gt;). In other words, to break down language into smaller segments (tokens), with morphemes being the smallest unit of language having grammatical meaning that can be broken down to. The following step in the NLP pipeline is then to identify the grammatical and semantic meaning of each morpheme within the context of the text it belongs to; a process called &lt;strong&gt;part-of-speech tagging&lt;/strong&gt; (POS tagging). This is easier to do when handling languages with clear cut semantic borders such as punctuation and space boundaries, but more challenging when dealing with ambiguous, agglutinative and non-segmented languages (such as Japanese).&lt;/p&gt;
&lt;p&gt;Due to the nature of the Japanese language, those two steps commonly go hand in hand under the header of &lt;strong&gt;morphological analysis&lt;/strong&gt; and are done at the hand of so-called dictionaries; corpora of texts with a part of speech tag-set processed by hand and/or through machine learning methods. There is some debate to the development of those dictionaries as well, depending on how coarse or fine-grained tokenization tags should be (i.e. should &lt;em&gt;sakanafuraiteishoku&lt;/em&gt; 魚フライ定食 be seen as one token, as a combination of &lt;em&gt;sakanafurai&lt;/em&gt; 魚フライ and &lt;em&gt;teishoku&lt;/em&gt; 定食, or as &lt;em&gt;sakana&lt;/em&gt; 魚, &lt;em&gt;furai&lt;/em&gt; フライ and &lt;em&gt;teishoku&lt;/em&gt; 定食?), as well as what rules are applied, and which sources should be used for new dictionary entries.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-3" id="fnref-3" rel="footnote"&gt;4&lt;/a&gt;&lt;/sup&gt; Depending on the selected dictionary, different Japanese morphological analysis tools will then apply different POS tagging techniques&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-4" id="fnref-4" rel="footnote"&gt;5&lt;/a&gt;&lt;/sup&gt; – probabilistic methods being the most common&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-5" id="fnref-5" rel="footnote"&gt;6&lt;/a&gt;&lt;/sup&gt; – in calculating boundaries and contextual tags of a language sequence.&lt;/p&gt;
&lt;p&gt;Having tokenized and POS-tagged texts (which can be further preprocessed with methods such as stop-word removal), we can now employ a variety of computer-assisted quantitative content and text analysis techniques suitable for social media, ranging from a very rudimentary keyword frequency analysis, to topic modeling based on coding tables, sentiment analysis and narrative network theory analysis (which will be demonstrated over the next few articles). Although there are several NLP frameworks available that offer limited support for the Japanese language (such as NLTK and SpaCy), it is crucial that the initial process of morphological analysis is tailored to our needs. This blog article will therefore expand on a set-up adequate for tackling social media content such as tweets.&lt;/p&gt;
&lt;h1 id="japanese-morphological-analyzing"&gt;&lt;a class="toclink" href="#japanese-morphological-analyzing"&gt;Japanese morphological analyzing&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Despite being discontinued for almost a decade, and although rapid developments have being made in Japanese NLP over the past few years, the morphological analyzer &lt;strong&gt;MeCab&lt;/strong&gt; remains as of writing the fastest, most frequently used Japanese tokenizer | POS-tagger, and the only option we can use in combination with KH Coder. There are, however, several other highly promising Japanese NLP options in active&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-6" id="fnref-6" rel="footnote"&gt;7&lt;/a&gt;&lt;/sup&gt; development that should not be neglected (and for which I will write a more complete comparison of in the near future):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://mocobeta.github.io/janome/"&gt;Janome&lt;/a&gt;&lt;/strong&gt; is a pure Python MeCab alternative with a decent post-processing analyzer framework and &lt;a href="https://mocobeta.github.io/janome/en/"&gt;English language documentation&lt;/a&gt;.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-7" id="fnref-7" rel="footnote"&gt;8&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://megagonlabs.github.io/ginza/"&gt;Ginza&lt;/a&gt;&lt;/strong&gt; is an all-encompassing Japanese NLP library based on the NLP library &lt;a href="https://spacy.io/"&gt;spaCy&lt;/a&gt;, the &lt;a href="https://universaldependencies.org/introduction.html"&gt;Universal Dependencies&lt;/a&gt; cross-linguistic annotation convention, and the Japanese morphological analyzer &lt;a href="https://github.com/WorksApplications/SudachiPy"&gt;SudachiPy&lt;/a&gt; (the latter, a python flavor of &lt;a href="https://github.com/WorksApplications/Sudachi"&gt;Sudachi&lt;/a&gt;, being the actual alternative to MeCab).&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-8" id="fnref-8" rel="footnote"&gt;9&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://github.com/ku-nlp/jumanpp"&gt;Juman++&lt;/a&gt;&lt;/strong&gt;, unlike MeCab and its predecessors, relies on recurrent neural networks (&lt;a href="https://builtin.com/data-science/recurrent-neural-networks-powerhouse-language-modeling"&gt;RNN&lt;/a&gt;) – a deep learning method – for its POS tagging rather than on token dictionaries. While much slower than Mecab + NEologd, it appears to have &lt;a href="https://qiita.com/riverwell/items/438e88427363511e9f28"&gt;incredible promise&lt;/a&gt; in dealing with colloquial language and spelling inconsistencies, which will be particularly useful for processing social media content.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="mecab-installation"&gt;&lt;a class="toclink" href="#mecab-installation"&gt;MeCab Installation&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;There are several options for installing MeCab, based on our set-up:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://taku910.github.io/mecab/#download"&gt;Unix | Windows x86&lt;/a&gt;&lt;/strong&gt;: the official installers for Unix and 32-bit versions of Windows.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://github.com/ikegami-yukino/mecab/releases"&gt;Windows 64-bit&lt;/a&gt;&lt;/strong&gt;: An unofficial 64-bit installer (select &lt;strong&gt;mecab-64-0.996.2.exe&lt;/strong&gt;).&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-9" id="fnref-9" rel="footnote"&gt;10&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://qiita.com/berry-clione/items/b3a537962c84244a2a09"&gt;Mac&lt;/a&gt;&lt;/strong&gt; (JP): Haven’t tested this myself but installation seems fairly straightforward using brew.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Make sure to select UTF-8 as encoding option when installing MeCab; UTF-8 is required to guarantee compatibility with Python and the optional custom dictionary &lt;strong&gt;mecab-ipadic-NEologd&lt;/strong&gt;.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-10" id="fnref-10" rel="footnote"&gt;11&lt;/a&gt;&lt;/sup&gt; Upon completion, we should also add two references to our global system variables. On Windows devices, open &lt;strong&gt;System Utility&lt;/strong&gt; in the control panel and click &lt;strong&gt;system variables&lt;/strong&gt;:&lt;/p&gt;
&lt;p&gt;First we should add a PATH reference to the folder containing the MeCab executables: select Path → edit → new → add the path to that folder (e.g. C:\Program Files\MeCab\bin).
Next, we should add a global variable MECABRC, with a value pointing to &lt;em&gt;(our mecab folder)\etc\mecabrc&lt;/em&gt; (e.g. to &lt;strong&gt;C:\Program Files\MeCab\etc\mecabrc&lt;/strong&gt;). The Mecabrc file within contains configuration data for MeCab, including the path to the dictionary we will using.&lt;/p&gt;
&lt;div class="slider" style="margin: auto; text-align: center;"&gt;
&lt;div&gt;&lt;img alt="Twitter" class="fborder" src="https://steviepoppe.net/images/twitter/mecab_saru.png" style="margin: auto; max-width: 95% !important;margin-bottom: 10px;width: 559px; height: auto; max-width: 100%;"/&gt;&lt;span&gt;&lt;strong&gt;Figure 1:&lt;/strong&gt; Example of MeCab + IPADIC POS-tagging of Japanese text&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;img alt="Twitter" class="fborder" src="https://steviepoppe.net/images/twitter/mecab_saru2.png" style="margin: auto; max-width: 95% !important;margin-bottom: 10px;width: 776px; height: auto; max-width: 100%;"/&gt;&lt;span&gt;&lt;strong&gt;Figure 2:&lt;/strong&gt; Example of encoding issues&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;As seen in &lt;strong&gt;Figure 1&lt;/strong&gt;, MeCab probes the text-input at the hand of the selected dictionary (in this case the default IPADIC dictionary) in order to segment the Japanese text and return the grammatical and semantic meaning of each morpheme. The dictionary files (&lt;strong&gt;sys.dic&lt;/strong&gt; and &lt;strong&gt;unk.dic&lt;/strong&gt;) were pre-compiled based on a list of CSV files containing that grammatical and semantic information for most common morphemes. A closer look at any of those CSV files reveals a data structure according to the following column scheme:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Surface form (表層形), left context ID (左文脈ID), right context ID (右文脈ID), cost (コスト), part-of-speech (品詞), part-of-speech sub-classification 1 (品詞細分類1), part-of-speech sub-classification 2 (品詞細分類2), part-of-speech sub-classification 3 (品詞細分類3), conjugation type (活用型), inflectional form (活用形), original form (原形), reading (読み), pronunciation (発音)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Take, for example, the entry for &lt;em&gt;tabero&lt;/em&gt; &lt;span lang="ja"&gt;&lt;ruby&gt;&lt;rb&gt;食&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;た&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;&lt;/span&gt;べろ in &lt;strong&gt;Verb.csv&lt;/strong&gt; or the entry for the grammatical particle &lt;em&gt;ha&lt;/em&gt; は:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;食べろ,623,623,7175,動詞,自立,,,一段,命令ｒｏ,食べる,タベロ,タベロ
は,14,,助詞,係助詞,,,,,は,ハ,ワ&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The cost column indicates how likely the word is to occur (with a smaller number indicating a higher likelihood to occur). The context IDs are internal references to categories defined in the *.def files (specifically &lt;strong&gt;left-id.def&lt;/strong&gt; and &lt;strong&gt;right-id.def&lt;/strong&gt;) and classify the meaning of the morpheme within the text content seen either from the left or right (in this case, those IDs both refer to (動詞,自立,*,*,一段,命令ｒｏ,*). The other categories are self-explanatory: 食べろ, read and pronounced as タベロ,&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-12" id="fnref-12" rel="footnote"&gt;13&lt;/a&gt;&lt;/sup&gt; is the commanding &lt;em&gt;ro&lt;/em&gt; conjugation of the dictionary form 食べる, an independent &lt;em&gt;ichidan&lt;/em&gt; verb.&lt;/p&gt;
&lt;div class="admonition note"&gt;
&lt;p class="admonition-title"&gt;Note&lt;/p&gt;
&lt;p&gt;After installing MeCab with the UTF-8 option, the MeCab default dictionary will have been recompiled with UTF-8 character encoding. Usually, running MeCab with the &lt;strong&gt;mecab.exe&lt;/strong&gt; executable in (in /bin/) or by using the command (&lt;code&gt;mecab&lt;/code&gt;) in the command prompt would allow usage as seen in &lt;strong&gt;figure 1&lt;/strong&gt;. Depending on the character encoding of the console prompt (can be tested by using &lt;code&gt;chcp&lt;/code&gt;), running MeCab as-is could result in encoding issues (see &lt;strong&gt;Figure 2&lt;/strong&gt;), however. Having the Region Settings of the system locale set to Japanese, for example, would change the encoding (the code page) for console applications to &lt;strong&gt;code page 932&lt;/strong&gt; (e.g. Shift JIS).&lt;/p&gt;
&lt;p&gt;Fortunately for us, there is hardly any use to running MeCab as-is; we’ll be running MeCab either with KH Coder or through Python scripts (which handles encoding for us). The above problem is therefore not of high importance and can nevertheless be by-passed with some simple workarounds.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-12" id="fnref2-12" rel="footnote"&gt;13&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Finally, it should be noted that MeCab accepts several arguments in dealing with unknown words or for formatting output. This will be more relevant for the next part of this tutorial series, but for now, see &lt;strong&gt;figure 4&lt;/strong&gt; for a demonstration:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;-d&lt;/code&gt;: path to one or more tokenizer dictionaries.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-E&lt;/code&gt;: Which escape sequence to use at the end of the parsed string (tabs: \t, backspaces: \b, newlines: \n, etc.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-O&lt;/code&gt;: Quick-formatting options. Wakati (short for &lt;em&gt;wakachi-gaki&lt;/em&gt;, 分かち書き), for example, is a tokenizer option for returning a string with only the surface form of each token, separated by spaces.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-13" id="fnref-13" rel="footnote"&gt;14&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-F&lt;/code&gt;: Grants us more control over the output formatting. Adding &lt;code&gt;-F%m:\\t\\t%f[0]\\n&lt;/code&gt;, for example, will format the outcome as seen in figure 4: the token surface form and the first element of the ‘&lt;a href="https://en.wikipedia.org/wiki/Feature_(machine_learning)"&gt;features&lt;/a&gt;‘ array (part-of-speech), separated by tab spaces.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;--unk-feature&lt;/code&gt;: set the return value of the part-of-speech column for unknown words (e.g. to ‘&lt;em&gt;unknown&lt;/em&gt;‘ or to &lt;em&gt;michigo&lt;/em&gt; ‘未知語’). Can be alternated with &lt;code&gt;-x&lt;/code&gt; (e.g. &lt;code&gt;-x 'unknown'&lt;/code&gt;).&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="mecab-ipadic-neologd-installation-optional"&gt;&lt;a class="toclink" href="#mecab-ipadic-neologd-installation-optional"&gt;mecab-ipadic-NEologd installation (optional)&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;POS-tagging Japanese text on social media is particularly difficult due to the volatile nature of language usage on social media, including usage of neologisms and colloquialisms, as well as Japanese-specific usage of half-width characters, different Unicode characters and text &lt;em&gt;emoji&lt;/em&gt; (&lt;em&gt;kaomoji&lt;/em&gt;). The standard dictionary provided with MeCab, IPADic, hasn’t been maintained in over a decade and does not satisfy our needs. While optional, it is therefore highly recommended to install the neologism dictionary &lt;strong&gt;mecab-ipadic-NEologd&lt;/strong&gt;, a MeCab dictionary expansion of the IPADic dictionary built using manual and machine learning methods on a wide variety of online texts. It contains a lot of entries of terms common on Japanese social media, as well as common names not yet belonging to the default MeCab dictionary (see &lt;strong&gt;figure 3&lt;/strong&gt; for a comparison when inputting prime minister Shinzo Abe’s name using respectively the default IPADic dictionary and the NEologd expansion).&lt;/p&gt;
&lt;div class="slider" style="margin: auto; text-align: center;"&gt;
&lt;div&gt;&lt;img alt="Twitter" class="fborder" src="https://steviepoppe.net/images/twitter/mecab_abe.png" style="margin: auto; max-width: 95% !important;margin-bottom: 10px;width: 760px; height: auto; max-width: 100%;"/&gt;&lt;span&gt;&lt;strong&gt;Figure 3:&lt;/strong&gt; Parsed results of 安倍晋三 (Abe Shinzō) with respectively default and NEologd dictionary.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;img alt="Twitter" class="fborder" src="https://steviepoppe.net/images/twitter/mecab_options.png" style="margin: auto; max-width: 95% !important;margin-bottom: 10px;width: 1073px; height: auto; max-width: 100%;"/&gt;&lt;span&gt;&lt;strong&gt;Figure 4:&lt;/strong&gt; Parsed text with various tokenizer settings.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Installation of the Neologism dictionary is rather obtuse; as it requires us to manually build the dictionary based on our existing copy of the IPADIC dictionary and the source files for the NEologd expansion.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-14" id="fnref-14" rel="footnote"&gt;15&lt;/a&gt;&lt;/sup&gt; This process is simple enough on Unix or Mac (as described on the project page), but less so on Windows. The following steps are, again, Windows-specific.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;a href="https://github.com/neologd/mecab-ipadic-neologd"&gt;project-page for NEologd&lt;/a&gt; is hosted on GitHub and periodically updated. For those who have git installed, clone the project to a directory of choice with &lt;code&gt;$ git clone --depth 1 https://github.com/neologd/mecab-ipadic-neologd.git&lt;/code&gt;. If not, select &lt;strong&gt;Clone or download → Download ZIP&lt;/strong&gt; and extract to a directory of choice.&lt;/li&gt;
&lt;li&gt;As mentioned earlier, MeCab dictionaries are compiled based on a list of CSV files containing grammatical and semantic information for each morpheme. We will need to recompile that dictionary based on the NEologd CSV files. Those CSV files are highly compressed as &lt;em&gt;.xz files listed in the seed directory of the NEologd project folder. We will have to &lt;/em&gt;&lt;em&gt;extract&lt;/em&gt;* those (select all the files with xz extension and extract them using 7zip or another file archiver of choice).&lt;/li&gt;
&lt;li&gt;Next, back in the ‘MeCab/dic’ folder &lt;strong&gt;make a copy&lt;/strong&gt; of the ‘ipadic’ folder. Name it ‘ipadic-neologd’. As-is, the IPADic source files (the CSV and def files) remain encoded in EUC-JP (or SHIFT-JIS for older copies). The NEologd CSV files, however, are encoded in UTF-8. Compiling those together will lead to inconsistencies; we should therefore change the character encoding of the IPADic source files to UTF-8 as well.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="admonition note"&gt;
&lt;p class="admonition-title"&gt;Note&lt;/p&gt;
&lt;p&gt;This can be done manually with most advanced text editors, or in bulk with &lt;strong&gt;iconv&lt;/strong&gt; (part of &lt;a href="http://gnuwin32.sourceforge.net/install.html"&gt;GNUWin32&lt;/a&gt;).&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-15" id="fnref-15" rel="footnote"&gt;16&lt;/a&gt;&lt;/sup&gt; For the sake of convenience, this tutorial provides the re-encoded files on a dedicated &lt;a href="https://github.com/steviepoppe/mecab_dic_utf8"&gt;GitHub repository&lt;/a&gt;. Simply download the repository as zip file and extract those files in the ‘ipadic-neologd’ folder to replace the previous copies.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-16" id="fnref-16" rel="footnote"&gt;17&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Finally, move the previously extracted NEologd CSV files to the ‘ipadic-neologd’ folder. We can now &lt;strong&gt;compile&lt;/strong&gt; our IPADic-NEologd dictionary from the command prompt by changing to that directory and running &lt;strong&gt;mecab-dict-index&lt;/strong&gt; with encoding set both from and to UTF-8:&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt;1&lt;/span&gt;
&lt;span class="normal"&gt;2&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; C:&lt;span class="se"&gt;\P&lt;/span&gt;rogram Files&lt;span class="se"&gt;\M&lt;/span&gt;eCab&lt;span class="se"&gt;\d&lt;/span&gt;ic&lt;span class="se"&gt;\i&lt;/span&gt;padic-neologd
mecab-dict-index -f utf-8 -t utf-8
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;div class="admonition note"&gt;
&lt;p class="admonition-title"&gt;Note&lt;/p&gt;
&lt;p&gt;If a reading error occurs, open the folder ‘/bin/’ (e.g.’C:\Program Files\MeCab\bin’), right-click mecab-dict-index.exe → settings → compatibility → check “run as Administrator”, and try again.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;From here, edit MeCab’s settings to point to the IPADic-NEologd dictionary instead of the default IPADic dictionary. To do so, open the &lt;strong&gt;mecabrc&lt;/strong&gt; file in ‘MeCab/etc/’ with a text editor and change &lt;code&gt;dicdir&lt;/code&gt; to the relevant path (e.g. &lt;code&gt;C:\Program Files\MeCab\dic\ipadic-neologd\&lt;/code&gt;).&lt;/p&gt;
&lt;h2 id="mecab-user-dictionary-optional"&gt;&lt;a class="toclink" href="#mecab-user-dictionary-optional"&gt;mecab user dictionary (optional)&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;It is likely that during close readings of the texts we’re analyzing, new, specific terms will come up that are not yet part of the IPADic and NEologd dictionaries. Or perhaps we’ll be dealing with application-oriented text classification. As an example, and although it falls more under NER processing,&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-17" id="fnref-17" rel="footnote"&gt;18&lt;/a&gt;&lt;/sup&gt; one project&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-18" id="fnref-18" rel="footnote"&gt;19&lt;/a&gt;&lt;/sup&gt; involved a dictionary consisting of Japanese book titles generated from a bibliographic database. Their pipeline involved processing incoming tweets from the Twitter Streaming API with MeCab,&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-19" id="fnref-19" rel="footnote"&gt;20&lt;/a&gt;&lt;/sup&gt; building a database of tweets containing tokens of bibliographic nature.&lt;/p&gt;
&lt;p&gt;On top of the system dictionary we have compiled with the above methods, MeCab permits additional user-generated dictionaries:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Create a CSV file with terms formatted according to the data structure and column scheme seen above and save it a convenient folder. In our case, a user.csv file, saved in ‘MeCab\dic\ipadic-neologd\user', containing one row &lt;code&gt;旦那ストレス,,,1234,名詞,固有名詞,一般,*,*,*,旦那ストレス,ダンナストレス,ダンナストレス&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Open the command prompt. Navigate (&lt;code&gt;cd&lt;/code&gt;) to the folder containing the system dictionary (e.g. MeCab\dic\ipadic-neologd) and run &lt;strong&gt;mecab-dict-index&lt;/strong&gt; with the parameter -u set to the output dictionary: e.g. &lt;code&gt;mecab-dict-index -u user\user.dic -f utf-8 -t utf-8 user\user.csv&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Finally, open mecabrc with a text-editor and add a new variable &lt;code&gt;userdic&lt;/code&gt;, pointing to one or multiple dictionaries (separated by comma): e.g. userdic = &lt;code&gt;C:\Program Files\MeCab\dic\ipadic-UTF8\user\book_titles.dic,C:\Program Files\MeCab\dic\ipadic-UTF8\user\emoji.dic&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="slider" style="margin: auto; text-align: center;"&gt;
&lt;div&gt;&lt;img alt="Twitter" class="fborder" src="https://steviepoppe.net/images/twitter/cmd_mecab_user1.png" style="margin: auto; max-width: 95% !important;margin-bottom: 10px;width: 838px; height: auto; max-width: 100%;"/&gt;&lt;/div&gt;
&lt;div&gt;&lt;img alt="Twitter" class="fborder" src="https://steviepoppe.net/images/twitter/cmd_mecab_user2.png" style="margin: auto; max-width: 95% !important;margin-bottom: 10px;width: 595px; height: auto; max-width: 100%;"/&gt;&lt;/div&gt;
&lt;div&gt;&lt;img alt="Twitter" class="fborder" src="https://steviepoppe.net/images/twitter/cmd_mecab_user3.png" style="margin: auto; max-width: 95% !important;margin-bottom: 10px;width: 836px; height: auto; max-width: 100%;"/&gt;&lt;span&gt;&lt;strong&gt;Figure 5:&lt;/strong&gt; 安倍晋三 (Abe Shinzō) with NEologd dictionary.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="admonition note"&gt;
&lt;p class="admonition-title"&gt;Note&lt;/p&gt;
&lt;p&gt;The cost field above was filled in randomly. While not harmful when dealing with very specific terms, doing so with a very large dictionary can obviously mess with our results. For a guide on estimating the cost, read &lt;a href="http://www.mwsoft.jp/programming/nlp/mecab_dictionary_customize.html"&gt;コストの自動推定&lt;/a&gt; (JP).&lt;/p&gt;
&lt;/div&gt;
&lt;h2 id="normalizing-japanese-text-with-neologdn-optional"&gt;&lt;a class="toclink" href="#normalizing-japanese-text-with-neologdn-optional"&gt;Normalizing Japanese text with Neologdn (optional)&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Within the context of NLP, normalization refers to the process of converting words to their ‘canonical’ form or implied meaning, regardless of its spelling (usage of upper- and lowercases, acronyms, alternative spellings, misspellings, etc). Like stemming or lemmatization (reducing words to their root form by removing inflection), this should be done on a case-by-case basis. In the Japanese language, for example, りんご、リンゴ and 林檎 (&lt;em&gt;ringo&lt;/em&gt;) are all common notations for the word ‘apple’.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-20" id="fnref-20" rel="footnote"&gt;21&lt;/a&gt;&lt;/sup&gt; Likewise, 可愛い, かわいい, カワイイ and even ｶﾜ(・∀・)ｲｲ!! (&lt;em&gt;kawaii&lt;/em&gt;) all mean ‘cute’, but – unlike the rather neutral variants for apple – differ slightly in demographic usage.&lt;/p&gt;
&lt;p&gt;Normalizing Japanese text with mixed spellings of &lt;em&gt;kana&lt;/em&gt; and &lt;em&gt;kanji&lt;/em&gt; is a complicated process.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-21" id="fnref-21" rel="footnote"&gt;22&lt;/a&gt;&lt;/sup&gt; for now, however, &lt;a href="https://github.com/ikegami-yukino/neologdn"&gt;this&lt;/a&gt; small library consists of several regular expressions already helpful in normalizing common tendencies of Japanese text on social media, such as converting half-width characters to full-width. As always, install with &lt;strong&gt;pip&lt;/strong&gt;: &lt;code&gt;pip install neologdn&lt;/code&gt;.&lt;/p&gt;
&lt;hr/&gt;
&lt;h1 id="kh-coder"&gt;&lt;a class="toclink" href="#kh-coder"&gt;KH Coder&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;&lt;a href="https://khcoder.net/en/"&gt;KH Coder&lt;/a&gt; is an open-source tool for performing quantitative content analysis, both by conducting statistical analysis on the whole set of text, or by applying coding rules and categorizing pieces of text. Although KH coder supports a variety of other languages (using the Stanford POS tagger), KH Coder was originally written with the Japanese language in mind and supports both ChaSen and MeCab. Having taken the above steps, we can now conduct analysis with KH Coder using a tokenizer and POS-tagger that should be more suitable for dealing with social media content.&lt;/p&gt;
&lt;p&gt;KH Coder can be downloaded from the link above. I wholeheartedly recommend to view the author’s &lt;a href="https://khcoder.net/en/tutorial_slides.pdf"&gt;powerpoint slides&lt;/a&gt; as well as &lt;a href="http://www.ritsumei.ac.jp/file.jsp?id=325881"&gt;read&lt;/a&gt; &lt;a href="http://www.ritsumei.ac.jp/file.jsp?id=346128"&gt;both&lt;/a&gt; of his publications on how to apply KH Coder for the purpose of quantitative content analysis.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-22" id="fnref-22" rel="footnote"&gt;23&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;h2 id="preparing-tweet-content-python"&gt;&lt;a class="toclink" href="#preparing-tweet-content-python"&gt;Preparing tweet content: python&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Before we start with KHCoder, however, let’s build a CSV file based on the CSV file of (re)tweets generated in the previous article. This new CSV, consisting of two columns (the tweet text and its author), will have such artifacts as hashtags and user mentions removed. Our script (as usual, available for download on &lt;a href="https://github.com/steviepoppe/python_twitter_api_examples"&gt;GitHub&lt;/a&gt;), thus look as follows:&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt; 1&lt;/span&gt;
&lt;span class="normal"&gt; 2&lt;/span&gt;
&lt;span class="normal"&gt; 3&lt;/span&gt;
&lt;span class="normal"&gt; 4&lt;/span&gt;
&lt;span class="normal"&gt; 5&lt;/span&gt;
&lt;span class="normal"&gt; 6&lt;/span&gt;
&lt;span class="normal"&gt; 7&lt;/span&gt;
&lt;span class="normal"&gt; 8&lt;/span&gt;
&lt;span class="normal"&gt; 9&lt;/span&gt;
&lt;span class="normal"&gt;10&lt;/span&gt;
&lt;span class="normal"&gt;11&lt;/span&gt;
&lt;span class="normal"&gt;12&lt;/span&gt;
&lt;span class="normal"&gt;13&lt;/span&gt;
&lt;span class="normal"&gt;14&lt;/span&gt;
&lt;span class="normal"&gt;15&lt;/span&gt;
&lt;span class="normal"&gt;16&lt;/span&gt;
&lt;span class="normal"&gt;17&lt;/span&gt;
&lt;span class="normal"&gt;18&lt;/span&gt;
&lt;span class="normal"&gt;19&lt;/span&gt;
&lt;span class="normal"&gt;20&lt;/span&gt;
&lt;span class="normal"&gt;21&lt;/span&gt;
&lt;span class="normal"&gt;22&lt;/span&gt;
&lt;span class="normal"&gt;23&lt;/span&gt;
&lt;span class="normal"&gt;24&lt;/span&gt;
&lt;span class="normal"&gt;25&lt;/span&gt;
&lt;span class="normal"&gt;26&lt;/span&gt;
&lt;span class="normal"&gt;27&lt;/span&gt;
&lt;span class="normal"&gt;28&lt;/span&gt;
&lt;span class="normal"&gt;29&lt;/span&gt;
&lt;span class="normal"&gt;30&lt;/span&gt;
&lt;span class="normal"&gt;31&lt;/span&gt;
&lt;span class="normal"&gt;32&lt;/span&gt;
&lt;span class="normal"&gt;33&lt;/span&gt;
&lt;span class="normal"&gt;34&lt;/span&gt;
&lt;span class="normal"&gt;35&lt;/span&gt;
&lt;span class="normal"&gt;36&lt;/span&gt;
&lt;span class="normal"&gt;37&lt;/span&gt;
&lt;span class="normal"&gt;38&lt;/span&gt;
&lt;span class="normal"&gt;39&lt;/span&gt;
&lt;span class="normal"&gt;40&lt;/span&gt;
&lt;span class="normal"&gt;41&lt;/span&gt;
&lt;span class="normal"&gt;42&lt;/span&gt;
&lt;span class="normal"&gt;43&lt;/span&gt;
&lt;span class="normal"&gt;44&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;sys&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;csv&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;itertools&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;chain&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;functools&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;reduce&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;re&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;os&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;pandas&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nn"&gt;pd&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;neologdn&lt;/span&gt;
&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;parse_tweets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sys_args&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;file_name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;sys_args&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="n"&gt;text_column&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;sys_args&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sys_args&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="s2"&gt;"text"&lt;/span&gt;
    &lt;span class="n"&gt;chunksize&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;100000&lt;/span&gt;
    &lt;span class="n"&gt;line_count&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;
    &lt;span class="n"&gt;tweet_list&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;list&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="n"&gt;exists&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;path&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;isfile&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'./results/&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s1"&gt;_tweet_&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s1"&gt;.csv'&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;file_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;text_column&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;

    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;chunk&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;read_csv&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'./results/&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s1"&gt;.csv'&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;file_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;encoding&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"utf-8"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;chunksize&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;chunksize&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;iterator&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;True&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
        &lt;span class="n"&gt;usecols&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;text_column&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"hashtags"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"user_mentions"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"is_retweet"&lt;/span&gt;&lt;span class="p"&gt;]):&lt;/span&gt;
        &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;index&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;tweet&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;chunk&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;iterrows&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
            &lt;span class="n"&gt;tweet_row&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{}&lt;/span&gt;
            &lt;span class="n"&gt;line_count&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
            &lt;span class="n"&gt;hashtags&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;  &lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"hashtags"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;split&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;","&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;notna&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"hashtags"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;
            &lt;span class="n"&gt;user_mentions&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"user_mentions"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;split&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;","&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;notna&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"user_mentions"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;
            &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"is_retweet"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="kc"&gt;False&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                &lt;span class="n"&gt;tweet_text&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;neologdn&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;normalize&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;text_column&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;repeat&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
                &lt;span class="n"&gt;tweet_text&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;''&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;join&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;tweet_text&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;isalpha&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="ow"&gt;or&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;isspace&lt;/span&gt;&lt;span class="p"&gt;()])&lt;/span&gt;
                &lt;span class="n"&gt;tweet_text&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;clean_tweets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tweet_text&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;hashtags&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;user_mentions&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="hll"&gt;                &lt;span class="n"&gt;tweet_row&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"text"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tweet_text&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;encode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'cp932'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;"ignore"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;decode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'cp932'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;                &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tweet_row&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"text"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
                &lt;span class="n"&gt;tweet_list&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tweet_row&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'Processed &lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s1"&gt; lines.'&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;line_count&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'Processed total of &lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s1"&gt; lines.'&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;line_count&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;tweet_json&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;DataFrame&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tweet_list&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="hll"&gt;    &lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="nb"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'./results/&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s1"&gt;_tweet_&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s1"&gt;.csv'&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;file_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;text_column&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;mode&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;'a'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;encoding&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"cp932"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;newline&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;''&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;file&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;        &lt;span class="n"&gt;tweet_json&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;to_csv&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;file&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;header&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="n"&gt;exists&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;index&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;False&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;clean_tweets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;hashtags&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;user_mentions&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;text&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;reduce&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;lambda&lt;/span&gt; &lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;replace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;""&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;chain&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;hashtags&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;user_mentions&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;text&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;re&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;sub&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"#|＃"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;""&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;replace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;""&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; 
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;text&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="vm"&gt;__name__&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s1"&gt;'__main__'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;parse_tweets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sys&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;argv&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;div class="admonition note"&gt;
&lt;p class="admonition-title"&gt;Note&lt;/p&gt;
&lt;p&gt;Similar to the scripts provided in the previous tutorials, the script above should be saved in the folder we have used thus far to store the rest of our script files (e.g. ‘&lt;strong&gt;C:\python_examples&lt;/strong&gt;‘ → ‘&lt;strong&gt;python_tweet_content.py&lt;/strong&gt;’). The script takes two argument: the name of the input CSV file and the name of the save-file. The commands used to execute our script could thus respectively look like: &lt;code&gt;python python_tweet_content.py #旦那ストレス danna&lt;/code&gt; (output CSV files are stored in the same folder as the input CSV, e.g. ‘results/旦那ストレス_tweet_content.csv’). That latter step is necessary because KH Coder only accepts files with ASCII file-names.&lt;/p&gt;
&lt;p&gt;On that matter, KHCoder only supports EUC and SHIFT-JIS encoded text-files. Thus far we have been encoding our files as UTF-8. While obtuse, &lt;strong&gt;lines 28&lt;/strong&gt; and &lt;strong&gt;35&lt;/strong&gt; are necessary steps to re-encode that content.&lt;/p&gt;
&lt;/div&gt;
&lt;h2 id="using-kh-coder"&gt;&lt;a class="toclink" href="#using-kh-coder"&gt;Using KH Coder&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Having started KH Coder, let us first change some settings. Click &lt;strong&gt;Project → Settings&lt;/strong&gt;, and make sure ‘MeCab’ is selected as method for Word Extraction and the path refers to the correct executable.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-23" id="fnref-23" rel="footnote"&gt;24&lt;/a&gt;&lt;/sup&gt; Furthermore, make sure &lt;strong&gt;Unicode Dictionary&lt;/strong&gt; is checked: we are using a Unicode (UTF-8)-encoded dictionary.&lt;/p&gt;
&lt;p&gt;Next, click &lt;strong&gt;Project → New&lt;/strong&gt;, and select the CSV file we extracted using the script above (make sure Japanese and MeCab are selected as language and POS-tagger). From there, click &lt;strong&gt;Pre-Processing → Run Pre-Processing&lt;/strong&gt; (this might take quite a while depending on the size of the file). If everything went well, we can now conduct statistical analysis and produce various visualizations that offer quantitative insights in the corpus of tweets we collected.&lt;/p&gt;
&lt;h3 id="stop-words-optional"&gt;&lt;a class="toclink" href="#stop-words-optional"&gt;Stop-words (optional)&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Stop-words refers to the most commonly used words in natural language; words we might want to filter out of our corpora depending on the context. Although we have done some filtering of noise already, &lt;strong&gt;figure 7&lt;/strong&gt; reveals &lt;em&gt;suru&lt;/em&gt; する (an irregular verb meaning to do, often used in combination with compound verbs) and &lt;em&gt;nai&lt;/em&gt; ない as some of the most frequent lemmas. Another (or complimentary) method to remove such elements from textual content is thus to make use of stop-word lists.&lt;/p&gt;
&lt;p&gt;I will write an extended blog post about how one might generate a Japanese language stop-word list, but for now I recommend &lt;a href="https://github.com/stopwords-iso/stopwords-ja/blob/master/stopwords-ja.txt"&gt;this one&lt;/a&gt;.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-24" id="fnref-24" rel="footnote"&gt;25&lt;/a&gt;&lt;/sup&gt; Simply save in a convenient location and open with a text-editor of choice. Add an extra row “—cell—” (necessary for KH Coder’s inner workings) and an extra row “ー”. Next, in KH Coder, click &lt;strong&gt;Pre-Processing → Select Words to Analyze → force ignore&lt;/strong&gt;. Mark the &lt;em&gt;Read from a file&lt;/em&gt; check-button, and click &lt;strong&gt;browse&lt;/strong&gt; to select the above stop-word list. Finally, run pre-processing again.&lt;/p&gt;
&lt;div class="admonition note"&gt;
&lt;p class="admonition-title"&gt;Note&lt;/p&gt;
&lt;p&gt;The usage of the Japanese ー in informal online language is to extend vowels (e.g. しかーし → しかーし) or to flatten consecutive vowels in a way that sounds more rough (e.g. うるさい → うるせー). Neologd does includes many terms that are abbreviated in such matter (知らねー) which are then normalized to the root form (知る), but does not, for example, process variations using both ー and small kana to extend the same vowel (知らねぇー、じゃねぇー,スゲェー), as well as various exclamations like はぁー. In those cases, ー is wrongfully tagged as a proper noun.&lt;/p&gt;
&lt;p&gt;This behavior actually stems from MeCab’s default behavior in trying to identify and tag unknown words. Running MeCab with the &lt;code&gt;unk-feature&lt;/code&gt; parameter set helps in that we can choose to tag unknown words as such. Unfortunately, KH Coder is built around MeCab’s ChaSen output (using the ‘&lt;code&gt;-OChasen&lt;/code&gt;’ parameter), and changing this requires rewriting a lot of the inner workings of KH Coder. An easier option is thus to just add words that clearly do not add value to the force ignore list.&lt;/p&gt;
&lt;/div&gt;
&lt;h3 id="analysis"&gt;&lt;a class="toclink" href="#analysis"&gt;Analysis&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;As an illustration, this article uses a corpus of Japanese tweets containing the hashtag #&lt;span lang="ja"&gt;&lt;ruby&gt;&lt;rb&gt;旦那&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;だんな&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;&lt;/span&gt;ストレス (husband stress), collected over the span of several weeks during the COVID-19 crisis (see &lt;a href="https://steviepoppe.net/blog/2020/05/a-quick-guide-to-data-mining-textual-analysis-of-japanese-twitter-part-2/"&gt;part two&lt;/a&gt; of this series for more information).&lt;/p&gt;
&lt;p&gt;The focus on that particular hashtag took place within a larger discussion – as part of a BA project – of the COVID-19 crisis and gender hegemony in Japan. One question that came up was whether Twitter users were using those hashtags as means of forming communities of self-empowerment, or instead resorted to using the medium as a form of semi-public diary. Moreover, what were the main topics discussed in this corpus of collected tweets?&lt;/p&gt;
&lt;h4 id="frequency-list"&gt;&lt;a class="toclink" href="#frequency-list"&gt;Frequency List&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;In order to navigate that question, one of the first steps we might do is generate a frequency list (see &lt;strong&gt;figure 6&lt;/strong&gt;); by clicking &lt;strong&gt;Tools → Words → Frequency List&lt;/strong&gt;, and generating a CSV or Excel file based either on the general Top 150 tokens or sorted by POS tags. This gives us not only a clear overview of the most frequent terms and thus of key topics, but also of possible errors occurring during tokenization (e.g. wrongfully parsed terms).&lt;/p&gt;
&lt;p&gt;Having imported that file in KH Coder, we could immediately see that our corpus of 2,555 tweets consists out of 73,590 tokens (40,473 after stop-word filtering), with 7,914 of those unique terms (7,257 after stop-word filtering). A term frequency distribution (Tools → Words → Descriptive Stats), illustrated in &lt;strong&gt;figures 7&lt;/strong&gt; and &lt;strong&gt;8&lt;/strong&gt;, further reveals that about half of those 7,914 terms occur only once.&lt;/p&gt;
&lt;div class="slider" style="margin: auto; text-align: center;"&gt;
&lt;div&gt;&lt;img alt="Twitter" class="fborder" src="https://steviepoppe.net/images/twitter/tf_danna.png" style="margin: auto; max-width: 95% !important;margin-bottom: 10px;width: 790px; height: auto; max-width: 100%;"/&gt;&lt;span&gt;&lt;strong&gt;Figure 6:&lt;/strong&gt; 30 most frequent terms.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;img alt="Twitter" class="fborder" src="https://steviepoppe.net/images/twitter/khcoder_tf_list.png" style="margin: auto; max-width: 95% !important;margin-bottom: 10px;width: 450px; height: auto; max-width: 100%;"/&gt;&lt;span&gt;&lt;strong&gt;Figure 7:&lt;/strong&gt; Term frequency distribution list.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;img alt="Twitter" class="fborder" src="https://steviepoppe.net/images/twitter/khcoder_tf.png" style="margin: auto; max-width: 95% !important;margin-bottom: 10px;width: 480px; height: auto; max-width: 100%;"/&gt;&lt;span&gt;&lt;strong&gt;Figure 8:&lt;/strong&gt; Term frequency distribution plot.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;There is not much else we take away from this information alone. It is not a particular surprise that the most common term is &lt;span lang="ja"&gt;&lt;ruby&gt;&lt;rb&gt;旦那&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;だんな&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;&lt;/span&gt; (&lt;em&gt;dan’na&lt;/em&gt;, husband). Frustrations seem likely related to household chores like cleaning, laundry and cooking. Therefore, we might want to rely on co-occurrence matrices such as co-occurrence networks and multidimensional scaling (MDS) of words as visual representations of similarity in meaning.&lt;/p&gt;
&lt;h4 id="co-occurrence-network"&gt;&lt;a class="toclink" href="#co-occurrence-network"&gt;Co-occurrence network&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;A co-occurrence network is a form of network analysis exploring co-occurring terms in our text. In other words, a visual network is formed based on the proximity of high-frequency terms (in non-inflicted form) as a means of identifying clusters of implied meaning.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-25" id="fnref-25" rel="footnote"&gt;26&lt;/a&gt;&lt;/sup&gt; This could help to empirically reveal some of the major trends in these tweets. &lt;strong&gt;figure 10&lt;/strong&gt; (without stop-word list) and &lt;strong&gt;figure 11&lt;/strong&gt; (filtered of stop-words) are limited to words with a term frequency of 40 (accounting for about 2% or approximately top 150 most frequent terms, and approximately 40% of all terms) and of all POS-categories excluding grammatical ones such as &lt;em&gt;joshi&lt;/em&gt; 助詞 and &lt;em&gt;hitei jodōshi&lt;/em&gt; 否定助動詞 (negating auxiliary verbs such as &lt;em&gt;zu&lt;/em&gt; ず and &lt;em&gt;nu&lt;/em&gt; ぬ). Both figures are based on the top 50 combinations of proximity, while &lt;strong&gt;figure 12&lt;/strong&gt; and the interactive HTML variant thereof, &lt;strong&gt;figure 9&lt;/strong&gt;, take only combinations with a similarity coefficient of 0.1 or higher.&lt;/p&gt;
&lt;div class="slider" style="margin: auto; text-align: center;"&gt;
&lt;div class="border"&gt;
&lt;iframe height="600px" id="inlineFrameExample" src="https://steviepoppe.net/theme/khc14_temp6.html" style="border: none;box-shadow: none;" title="Inline Frame Example" width="100%"&gt;
&lt;/iframe&gt;
&lt;span&gt;&lt;strong&gt;Figure 9:&lt;/strong&gt; Interactive co-occurrence network of TF =&amp;gt; 50 &amp;amp; similarity coefficient =&amp;gt; 0.1 (filtered by stop-word list).&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;img alt="Twitter" class="fborder" src="https://steviepoppe.net/images/twitter/khcoder_co_nostopwords.png" style="margin: auto; max-width: 95% !important;margin-bottom: 10px;width: 761px; height: auto; max-width: 100%;"/&gt;&lt;span&gt;&lt;strong&gt;Figure 10:&lt;/strong&gt; co-occurrence network of TF =&amp;gt; 50 &amp;amp; top 50 combinations of proximity (unfiltered).&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;img alt="Twitter" class="fborder" src="https://steviepoppe.net/images/twitter/khcoder_co_stopwords.png" style="margin: auto; max-width: 95% !important;margin-bottom: 10px;width: 818px; height: auto; max-width: 100%;"/&gt;&lt;span&gt;&lt;strong&gt;Figure 11:&lt;/strong&gt; co-occurrence network of TF =&amp;gt; 50 &amp;amp; top 50 combinations of proximity (filtered by stop-word list).&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;img alt="Twitter" class="fborder" src="https://steviepoppe.net/images/twitter/khcoder_co_10.png" style="margin: auto; max-width: 95% !important;margin-bottom: 10px;width: 739px; height: auto; max-width: 100%;"/&gt;&lt;span&gt;&lt;strong&gt;Figure 12:&lt;/strong&gt; Co-occurrence network of TF =&amp;gt; 50 &amp;amp; similarity coefficient =&amp;gt; 0.1 (filtered by stop-word list).&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h4 id="kwic-concordance"&gt;&lt;a class="toclink" href="#kwic-concordance"&gt;KWIC concordance&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;Clicking on any of the terms in the co-occurrence network in KH Coder opens the KWIC concordance screen,&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-26" id="fnref-26" rel="footnote"&gt;27&lt;/a&gt;&lt;/sup&gt; revealing all the tweets containing that particular term as well as the closeness of other frequent terms.&lt;/p&gt;
&lt;p&gt;A big trend among these posts seems to be the frustration of the tweet users towards the lack op cooperation of their husband in daily housework – cleaning, laundry, cooking, taking care of children, groceries – as well as lack in assisting with parental duties, lack of hygiene and lack of communication. This happens on top of the COVID-19 crisis leading to measures such as remote work or temporary unemployment. Take, for example, the following three randomly selected and translated tweets based respectively on the terms ‘corona’, cleaning’ and ‘bath’:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“Being in the same room, on top of the stress of self-quarantining during the Corona-crisis, is just too difficult.”&lt;/p&gt;
&lt;p&gt;“A week of vacation during Golden Week. During that time I worked 4 days. Regardless of the holidays, a housewife operates as usual: cooking, cleaning, laundry, playing with children… During that time, my husband did nothing but playing on his smart phone or reading manga. Even if I ask him to play with the children, it’s impossible…”&lt;/p&gt;
&lt;p&gt;“In spite of working in the service industry, you come back home and fall asleep in the sofa without washing your hands or taking a bath? I told you to take a bath when coming back. Even if I ask several times, after one or two days it’s back to usual. We have three children and we all use that sofa. Don’t undo our effort to self-quarantine!”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h4 id="coding-topics"&gt;&lt;a class="toclink" href="#coding-topics"&gt;Coding topics&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;Judging from the above information, we could identify several topics: children, household tasks, the novel corona-virus, family-in-law, … Based on the term frequency information we obtained through the methods above, a very rudimentary coding dictionary of terms that align with those topics was thus created:&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt; 1&lt;/span&gt;
&lt;span class="normal"&gt; 2&lt;/span&gt;
&lt;span class="normal"&gt; 3&lt;/span&gt;
&lt;span class="normal"&gt; 4&lt;/span&gt;
&lt;span class="normal"&gt; 5&lt;/span&gt;
&lt;span class="normal"&gt; 6&lt;/span&gt;
&lt;span class="normal"&gt; 7&lt;/span&gt;
&lt;span class="normal"&gt; 8&lt;/span&gt;
&lt;span class="normal"&gt; 9&lt;/span&gt;
&lt;span class="normal"&gt;10&lt;/span&gt;
&lt;span class="normal"&gt;11&lt;/span&gt;
&lt;span class="normal"&gt;12&lt;/span&gt;
&lt;span class="normal"&gt;13&lt;/span&gt;
&lt;span class="normal"&gt;14&lt;/span&gt;
&lt;span class="normal"&gt;15&lt;/span&gt;
&lt;span class="normal"&gt;16&lt;/span&gt;
&lt;span class="normal"&gt;17&lt;/span&gt;
&lt;span class="normal"&gt;18&lt;/span&gt;
&lt;span class="normal"&gt;19&lt;/span&gt;
&lt;span class="normal"&gt;20&lt;/span&gt;
&lt;span class="normal"&gt;21&lt;/span&gt;
&lt;span class="normal"&gt;22&lt;/span&gt;
&lt;span class="normal"&gt;23&lt;/span&gt;
&lt;span class="normal"&gt;24&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;Children&lt;/span&gt;
&lt;span class="err"&gt;子供達&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;子供&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;こども&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;子ども&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;子ども&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;娘&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;赤ちゃん&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;あかちゃん&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;息子&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;妊婦&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;育児&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;保育園&lt;/span&gt;

&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;Household_Tasks&lt;/span&gt;
&lt;span class="err"&gt;掃除&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;干す&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;洗濯&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;片付け&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;洗い物&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;洗物&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;洗濯機&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;風呂&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;入れる&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;掃除機&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;トイレ&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;エアコン&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;床&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;布団&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;家事&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;ゴミ箱&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;ゴミ袋&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="n"&gt;near&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="err"&gt;ゴミ&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="err"&gt;出す&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="n"&gt;near&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="err"&gt;ゴミ&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="err"&gt;捨てる&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;買い物&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;買物&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;乾く&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;ごはん&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;ご飯&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;炊事&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;料理&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;作る&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;食べる&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;食う&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;弁当&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;晩ご飯&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;朝ごはん&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;食&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;育児&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;保育園&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;食器&lt;/span&gt;

&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;Divorce&lt;/span&gt;
&lt;span class="err"&gt;離婚&lt;/span&gt;

&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;Alcohol&lt;/span&gt;
&lt;span class="err"&gt;酷い&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;グレープフルーツサワー&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;酒サワー&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;ビール&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="n"&gt;near&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="err"&gt;飲む&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="err"&gt;行く&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;Family_in_Law&lt;/span&gt;
&lt;span class="err"&gt;義母&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;義父&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;義妹&lt;/span&gt;

&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;Idle_Complaints&lt;/span&gt;
&lt;span class="err"&gt;機嫌&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;悪い&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;気持ち&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="n"&gt;near&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="err"&gt;やめる&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="err"&gt;ほしい&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;キモイ&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;愚痴&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;吐く&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;イライラ&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;ストレス&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;バカ&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;馬鹿&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;馬鹿野郎&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;モラ&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;アホ&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;デブ&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;しねる&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;モラハラ&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;腹立つ&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;死ねる&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;クズ&lt;/span&gt;
&lt;span class="o"&gt;#&lt;/span&gt;&lt;span class="n"&gt;Note&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="err"&gt;しね&lt;/span&gt; &lt;span class="k"&gt;and&lt;/span&gt; &lt;span class="err"&gt;死ね&lt;/span&gt; &lt;span class="k"&gt;are&lt;/span&gt; &lt;span class="n"&gt;mistakingly&lt;/span&gt; &lt;span class="n"&gt;stemmed&lt;/span&gt; &lt;span class="k"&gt;to&lt;/span&gt; &lt;span class="err"&gt;しねる&lt;/span&gt; &lt;span class="k"&gt;instead&lt;/span&gt; &lt;span class="k"&gt;of&lt;/span&gt; &lt;span class="err"&gt;しぬ&lt;/span&gt;

&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;Corona&lt;/span&gt;
&lt;span class="err"&gt;十万円&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;１０万円&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;コロナ&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;自粛&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;感染症&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;感染&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;危機感&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;リスク&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;新型コロナウイルス&lt;/span&gt;

&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;Financial_Employment&lt;/span&gt;
&lt;span class="err"&gt;給付金&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;テレワーク&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;在宅ワーク&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;失業&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;仕事&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;業&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;収入&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;テレワーク&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;在宅ワーク&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;在宅&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;休み&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;休む&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;会社&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;出社&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; &lt;span class="err"&gt;勤務&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;Saving the above file and applying it as coding rule against the corpus (&lt;strong&gt;Tools → Coding → Frequency → H5&lt;/strong&gt;) reveals how many tweets contain keywords that we have coded among the above categories (as seen in &lt;strong&gt;Figure 13&lt;/strong&gt;).&lt;/p&gt;
&lt;p&gt;Considering the origin of the corpus, it is safe to say that the majority of tweets will contain grievances concerning the Twitter user’s husband. Indeed, over a quarter of those posts contain harsh, aggressive language. Posts that directly reference COVID-19 (about 5%) or even the employment status of the husband (approx. 15%), however, are relatively low in numbers. The most prevalent category is that of household tasks; confirming the likelihood that these users are using the medium to vent daily frustrations in regards to the labor performed as a housewife and the lack of compassion or assistance from the husband; something that is further aggravated due to the virus.&lt;/p&gt;
&lt;div class="slider" style="margin: auto; text-align: center;"&gt;
&lt;div class="border"&gt;&lt;img alt="Twitter" class="fborder" src="https://steviepoppe.net/images/twitter/khcoder_topic_freq.png" style="margin: auto; max-width: 95% !important;margin-bottom: 10px;width: 791px; height: auto; max-width: 100%;"/&gt;&lt;span&gt;&lt;strong&gt;Figure 13:&lt;/strong&gt; Topic frequency.&lt;/span&gt;&lt;/div&gt;
&lt;div class="border"&gt;&lt;img alt="Twitter" class="fborder" src="https://steviepoppe.net/images/twitter/kh_users_tf.png" style="margin: auto; max-width: 95% !important;margin-bottom: 10px;width: 805px; height: auto; max-width: 100%;"/&gt;&lt;span&gt;&lt;strong&gt;Figure 14:&lt;/strong&gt; Term frequency of user description corpus.&lt;/span&gt;&lt;/div&gt;
&lt;div class="border"&gt;&lt;img alt="Twitter" class="fborder" src="https://steviepoppe.net/images/twitter/kh_users_co.png" style="margin: auto; max-width: 95% !important;margin-bottom: 10px;width: 943px; height: auto; max-width: 100%;"/&gt;&lt;span&gt;&lt;strong&gt;Figure 15:&lt;/strong&gt; Co-occurrence network of of user description corpus (TF &amp;gt; 30 &amp;amp; Coef. &amp;gt;= 0.10).&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;img alt="Twitter" class="fborder" src="https://steviepoppe.net/images/twitter/kh_users_topics.png" style="margin: auto; max-width: 95% !important;margin-bottom: 10px;width: 746px; height: auto; max-width: 100%;"/&gt;&lt;span&gt;&lt;strong&gt;Figure 16:&lt;/strong&gt; Topic frequency of of user description corpus.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Finally, we might want to apply the same methods on a corpus of the personal description of Twitter users to gain more insight into the behavioral patterns of those engaging with the #&lt;em&gt;husbandstress&lt;/em&gt; hashtag. The following data is based on a list of user profiles that have posted at least one tweet with that hashtag (a total of 1,429 profiles), filtered by the same standards as above. &lt;strong&gt;Figure 15&lt;/strong&gt; and &lt;strong&gt;Figure 16&lt;/strong&gt;, in particular, shows several trends among those users:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Nodes that refer to personal hobbies or things those users might be interested in lately, such as animation and video games (something for which NEologd is particularly useful),&lt;/li&gt;
&lt;li&gt;The personal identity marker of being a mother,&lt;/li&gt;
&lt;li&gt;Complaints concerning the husband, with the related possibility of a divorce, as well as reference to living together with the mother-in-law.&lt;/li&gt;
&lt;li&gt;The usual Twitter structures such as &lt;em&gt;mugon forō shitsureishimasu &lt;/em&gt;&lt;span lang="ja"&gt;&lt;ruby&gt;&lt;rb&gt;無言&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;むごん&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;&lt;/span&gt;フォロー&lt;span lang="ja"&gt;&lt;ruby&gt;&lt;rb&gt;失礼&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;しつれい&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;&lt;/span&gt;します (“forgive me for following without saying anything”); implying that many users will use the account to follow others, possible in similar situations, without the secondary purpose to communicate with each other,&lt;/li&gt;
&lt;li&gt;References to the purpose of the Twitter account: a second account intended to express daily grievances.&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;
&lt;p&gt;“My husband is just impossible. I am comforted by seeing the tweets of people expressing the same stress.”&lt;/p&gt;
&lt;p&gt;“I feel murderous rage towards my husband and parents-in-law. This is a complaints-account. Forgive me for silent-following.”&lt;/p&gt;
&lt;p&gt;“Account dedicated to complaining about my husband. I want someone with whom I can freely share such complaints.”&lt;/p&gt;
&lt;p&gt;“I only write complaints about my husband. I am 9 months pregnant and have one 3 year old child. I like Arashi and Korean dramas. Sorry for silent-following. Feel free to do so yourself.”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id="to-do"&gt;&lt;a class="toclink" href="#to-do"&gt;To do&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;The above analysis is of course a mere illustration of how these tools could contribute towards a quantitative content analysis approach on Japanese tweets. There are various issues remaining in the above example, including a lack of taking into account the general weighing impact of disproportionately frequent tweeters, a too rudimentary topic coding, a lack of theoretical base and, as is common in criticism on content analysis, perhaps too liberal or reductive an interpretation of co-occurring high-frequency terms. It is recommended that BA and MA students interested in applying these techniques delve further into the methodology of content analysis as well as look up other, published examples utilizing MeCab or KH Coder.&lt;/p&gt;
&lt;hr/&gt;
&lt;h1 id="wait-there-is-more"&gt;&lt;a class="toclink" href="#wait-there-is-more"&gt;Wait! There is more!&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;This brief tutorial offered a brief introduction to natural language processing in Japanese context as well as some of the tools available, such as KH Coder. Yet, while the graphical user interface of KH Coder and its plethora of statistical analysis options provided are definitely valuable for in-depth quantitative content analysis, in our next post we will be looking into the benefits of dedicated NLP tools for Python and apply a more extensive method of Japanese normalization.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://steviepoppe.net/blog/2020/04/a-quick-guide-to-data-mining-textual-analysis-of-japanese-twitter/"&gt;A &lt;del&gt;Quick&lt;/del&gt; Guide to Data-mining &amp;amp; (Textual) Analysis of (Japanese) Twitter Part 1: Twitter Data Collection&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://steviepoppe.net/blog/2020/05/a-quick-guide-to-data-mining-textual-analysis-of-japanese-twitter-part-2/"&gt;A &lt;del&gt;Quick&lt;/del&gt; Guide to Data-mining &amp;amp; (Textual) Analysis of (Japanese) Twitter Part 2: Basic Metrics &amp;amp; Graphs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://steviepoppe.net/blog/2020/07/a-quick-guide-to-data-mining-textual-analysis-of-japanese-twitter-part-4/"&gt;A &lt;del&gt;Quick&lt;/del&gt; Guide to Data-mining &amp;amp; (Textual) Analysis of (Japanese) Twitter Part 4: Natural Language Processing With MeCab, Neologd and NLTK&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#"&gt;A &lt;del&gt;Quick&lt;/del&gt; Guide to Data-mining &amp;amp; (Textual) Analysis of (Japanese) Twitter Part 5: Advanced Metrics &amp;amp; Graphs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;On a final note, it is my aim to write tutorials like these in such a way that they provide enough detail and (technical) information on the applied methodology to be useful in extended contexts, while still being accessible to less IT-savvy students. If anything is unclear, however, please do not hesitate to leave questions in the comment section below. &lt;i class="icon-hand-down"&gt;&lt;/i&gt;&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr/&gt;
&lt;ol&gt;
&lt;li id="fn-footnote"&gt;
&lt;p&gt;Still image from the 2012 Japanese animated film Wolf Children by Mamoru Hosoda, used under a Fair Use doctrine. &lt;a class="footnote-backref" href="#fnref-footnote" title="Jump back to footnote 1 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-1"&gt;
&lt;p&gt;Again, this tutorial is Windows-centric. It provides some guidelines for Mac users, but those steps have not personally been tested. &lt;a class="footnote-backref" href="#fnref-1" title="Jump back to footnote 2 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-2"&gt;
&lt;p&gt;This is of course based on my own limited understanding; entire degrees are set up around those fields. For serious research projects (such as during a graduate thesis), it might be worthwhile to contact someone from the local Digital Humanities department. For a general introduction to NLP, &lt;a href="https://towardsdatascience.com/your-guide-to-natural-language-processing-nlp-48ea2511f6e1"&gt;Your Guide to Natural Language Processing (NLP)&lt;/a&gt; is a good article to start with. Finally, for a more general introduction to Japanese NLP and computational linguistics, I recommend the free introductory chapter (&lt;a href="https://web.stanford.edu/group/cslipublications/cslipublications/site/9781575867533.shtml"&gt;available here&lt;/a&gt;) of Bond, F. et al’s 2016. “Readings in Japanese Natural Language Processing”. &lt;a class="footnote-backref" href="#fnref-2" title="Jump back to footnote 3 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-3"&gt;
&lt;p&gt;For a brief overview of the various dictionaries available for Japanese NLP, read &lt;a href="https://www.dampfkraft.com/nlp/japanese-tokenizer-dictionaries.html"&gt;An Overview of Japanese Tokenizer Dictionaries&lt;/a&gt;. &lt;a class="footnote-backref" href="#fnref-3" title="Jump back to footnote 4 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-4"&gt;
&lt;p&gt;For a brief overview of POS-tagging methods, read &lt;a href="https://medium.com/analytics-vidhya/pos-tagging-using-conditional-random-fields-92077e5eaa31"&gt;NLP Guide: Identifying Part of Speech Tags using Conditional Random Fields&lt;/a&gt;. &lt;a class="footnote-backref" href="#fnref-4" title="Jump back to footnote 5 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-5"&gt;
&lt;p&gt;As pointed out in this &lt;a href="https://www.quora.com/What-are-some-Japanese-tokenizers-or-tokenization-strategies"&gt;Quora thread&lt;/a&gt;, ChaSen used Hidden Markov Model (HMM) chains in its statistical calculation of probability and inferring relationships between each other. As &lt;a href="https://acl-arc.comp.nus.edu.sg/archives/acl-arc-090501d4/data/pdf/anthology-PDF/W/W04/W04-3230.pdf"&gt;outlined in this paper&lt;/a&gt; by the author of MeCab, MeCab uses Conditional Random Fields (CRFs), a probability model similar to Maximum Entropy Markov Models (MEMM). &lt;a class="footnote-backref" href="#fnref-5" title="Jump back to footnote 6 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-6"&gt;
&lt;p&gt;There are various others, such as ChaSen, JUMAN, &lt;a href="https://github.com/atilika/kuromoji"&gt;Kuromoji&lt;/a&gt; and &lt;a href="http://www.phontron.com/kytea/"&gt;KyTea&lt;/a&gt;, but those haven’t been in development for a while and don’t bring anything extra to the table. &lt;a href="https://taku910.github.io/cabocha/"&gt;CaboCha&lt;/a&gt; is sometimes incorrectly listed among them, but is actually a syntactic dependency analyzer using Support Vector Machines that works side by side with MeCab and is written by the same developer. &lt;a href="https://github.com/taishi-i/nagisa"&gt;Nagisa&lt;/a&gt;, another python-based ‘Japanese tokenizer based on recurrent neural networks’, looks promising but at this point doesn’t seem to have any benefits over its RNN alternatives such as JUMAN++. &lt;a href="https://stanfordnlp.github.io/CoreNLP/index.html"&gt;Stanford NLP&lt;/a&gt; is an encompassing NLP solution with &lt;a href="https://stanfordnlp.github.io/stanfordnlp/models.html#human-languages-supported-by-stanfordnlp"&gt;recently added&lt;/a&gt; support for Japanese texts, based on the Japanese Google Universal Dependency Treebank, but I haven’t checked this out in further detail. &lt;a class="footnote-backref" href="#fnref-6" title="Jump back to footnote 7 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-7"&gt;
&lt;p&gt;Its dedicated promotional character, a little girl holding an eponymous janome (bullseye) umbrella, is pretty cute too. &lt;a class="footnote-backref" href="#fnref-7" title="Jump back to footnote 8 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-8"&gt;
&lt;p&gt;Moreover, Sudachi appear to be the only one among these to perform in-depth normalization of words with inconsistent spelling. &lt;a class="footnote-backref" href="#fnref-8" title="Jump back to footnote 9 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-9"&gt;
&lt;p&gt;Running MeCab on Mac, Unix or x86 Windows architecture is fairly straightforward. Running Mecab on x64 architecture, however, was rather complex and required users to edit and recompile the source code manually. For the sake of archiving or future reference, &lt;a href="https://naokiwatanabe.blogspot.com/2014/09/mecab.html"&gt;these&lt;/a&gt; &lt;a href="https://qiita.com/h_kabocha/items/5bee9e9b852aed11411b"&gt;different&lt;/a&gt; &lt;a href="http://sutchy.cocolog-nifty.com/sutchy/2015/05/windows-python3.html"&gt;blog&lt;/a&gt; &lt;a href="https://qiita.com/tobesan/items/6b6f3a025fdd177ef52a"&gt;entries&lt;/a&gt; were helpful in lining out the required steps. Fortunately, as of 2019, another developer provided a forked 64 bit installer. &lt;a class="footnote-backref" href="#fnref-9" title="Jump back to footnote 10 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-10"&gt;
&lt;p&gt;An expansion of the IPADic dictionary. Although there is an &lt;a href="https://github.com/neologd/mecab-unidic-neologd/"&gt;NEologd expansion&lt;/a&gt; of the NINJAL-developed &lt;a href="https://unidic.ninjal.ac.jp/"&gt;UniDic&lt;/a&gt; (an actively maintained dictionary upholding Universal Dependencies conventions), the coarse nature of the much-older IPADic in tokening might arguably be a better fit for this kind of project. &lt;a class="footnote-backref" href="#fnref-10" title="Jump back to footnote 11 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-11"&gt;
&lt;p&gt;While the particle は would, for example, return a reading of &lt;em&gt;ha&lt;/em&gt; ハ and pronunciation of &lt;em&gt;wa&lt;/em&gt; ワ. &lt;a class="footnote-backref" href="#fnref-11" title="Jump back to footnote 12 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-12"&gt;
&lt;p&gt;Unless we edit the source code manually and recompile the application, there is not much we can do to fix this at this point anyway. One workaround, as &lt;a href="https://blog.14nigo.net/2019/12/mecabpython3.html"&gt;this Japanese blogger&lt;/a&gt; writes, is to set the output encoding of the command prompt to utf-8 using &lt;code&gt;chcp 65001&lt;/code&gt; and piping the Japanese query with &lt;code&gt;echo&lt;/code&gt; to mecab (e.g. &lt;code&gt;!#batch echo 猿も木から落ちる | mecab&lt;/code&gt;), or alternatively, to use another command line utility program such as git Git Bash. &lt;a class="footnote-backref" href="#fnref-12" title="Jump back to footnote 13 in the text"&gt;↩&lt;/a&gt;&lt;a class="footnote-backref" href="#fnref2-12" title="Jump back to footnote 13 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-13"&gt;
&lt;p&gt;The other options are “&lt;code&gt;-O chasen&lt;/code&gt;” (to display the POS tagged tokens in ChaSen format), “&lt;code&gt;-O yomi&lt;/code&gt;” (for displaying the reading of the token) and “&lt;code&gt;-O dump&lt;/code&gt;” (the default options, dumps all information). &lt;a class="footnote-backref" href="#fnref-13" title="Jump back to footnote 14 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-14"&gt;
&lt;p&gt;As pointed out here, an alternative method is to compile NEologd as a user dictionary and to use it in conjunction with the standard UNIDic dictionary, rather than to compile the two in one system dictionary. &lt;a class="footnote-backref" href="#fnref-14" title="Jump back to footnote 15 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-15"&gt;
&lt;p&gt;Having installed &lt;strong&gt;iconv&lt;/strong&gt;, we could do the following in our command prompt to encode all CSV files to UTF-8. Simply replace the originals with the ones in the child directory afterwards: &lt;code&gt;for %%a in (*.csv) do "C:\Program Files (x86)\GnuWin32\bin\iconv.exe" -f EUC-JP -t UTF-8 %%a &amp;gt; ./utf8/%%a&lt;/code&gt;. &lt;a class="footnote-backref" href="#fnref-15" title="Jump back to footnote 16 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-16"&gt;
&lt;p&gt;Because of the frequent updates and massive size of the raw NEologd CSV files, this tutorial won’t provide a compiled dic file, however. &lt;a class="footnote-backref" href="#fnref-16" title="Jump back to footnote 17 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-17"&gt;
&lt;p&gt;&lt;strong&gt;Named Entity Recognition&lt;/strong&gt;; identifying and tagging tokens that are real-world objects (persons, locations, products, etc). The NEologd dictionary has some basic NER as part of the pos sub-classification. The entry for Belgium, for example, returns the following: “ベルギー,名詞,固有名詞,地域,国,,,ベルギー,ベルギー,ベルギー”. In other words, Belgium is classified as a noun → proper noun → region → country. &lt;a class="footnote-backref" href="#fnref-17" title="Jump back to footnote 18 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-18"&gt;
&lt;p&gt;&lt;strong&gt;S. Yada and K. Kageura&lt;/strong&gt;. 2015. Identification of Tweets that Mention Books: An Experimental Comparison of Machine Learning Methods. Digital Libraries: Providing Quality Information: 17&lt;sup&gt;th&lt;/sup&gt; International Conference on Asia-Pacific Digital Libraries, ICADL 2015, Seoul, Korea, December 9-12, 2015. Proceedings &lt;a class="footnote-backref" href="#fnref-18" title="Jump back to footnote 19 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-19"&gt;
&lt;p&gt;For a process like this that requires handling large amounts of incoming tweets per minute, speed is particularly of essence. MeCab is therefore the most appropriate option, as of writing. &lt;a class="footnote-backref" href="#fnref-19" title="Jump back to footnote 20 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-20"&gt;
&lt;p&gt;The Japanese term for such words with different written forms and spelling inconsistencies is &lt;em&gt;hyōkiyure&lt;/em&gt; #&lt;span lang="ja"&gt;&lt;ruby&gt;&lt;rb&gt;表記&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;ひょうき&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;&lt;/span&gt;ゆれ (or… 表記揺れ 🙃). &lt;a class="footnote-backref" href="#fnref-20" title="Jump back to footnote 21 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-21"&gt;
&lt;p&gt;For a brief overview of this problem and one potential solution, &lt;a href="https://www.aclweb.org/anthology/W16-3918.pdf"&gt;read&lt;/a&gt;, &lt;strong&gt;Ikeda, Taishi, Hiroyuki Shindo, and Yuji Matsumoto&lt;/strong&gt;. 2016. ‘Japanese Text Normalization with Encoder-Decoder Model’. In Proceedings of the 2&lt;sup&gt;nd&lt;/sup&gt; Workshop on Noisy User-Generated Text (WNUT), 129–137. Osaka, Japan: The COLING 2016 Organizing Committee. &lt;a href="https://www.aclweb.org/anthology/W16-3918"&gt;https://www.aclweb.org/anthology/W16-3918&lt;/a&gt;. &lt;a class="footnote-backref" href="#fnref-21" title="Jump back to footnote 22 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-22"&gt;
&lt;p&gt;KH Coder is a complex application with a broad variety of tools. The application of KH Coder highlighted in this article serve as a mere introduction, and I wholeheartedly recommend anyone interested in what it has to offer to read the full &lt;a href="http://svn.sourceforge.jp/svnroot/slothlib/CSharp/Version1/SlothLib/NLP/Filter/StopWord/word/Japanese.txt"&gt;manual&lt;/a&gt; as well. &lt;a class="footnote-backref" href="#fnref-22" title="Jump back to footnote 23 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-23"&gt;
&lt;p&gt;The one we have installed earlier. KH Coder 3 comes with a version of MeCab pre-installed in khcoder3/dep which can be safely deleted. &lt;a class="footnote-backref" href="#fnref-23" title="Jump back to footnote 24 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-24"&gt;
&lt;p&gt;Another commonly used stop-word list is the one released by the developers of the SlothLib web library, available here. Stop words are calculated not just on term frequency in large example corpora but also by its relation with other (based on n-grams). For an extensive overview of manually calculating such a list in Japanese, see &lt;a href="https://mieruca-ai.com/ai/nlp-stopwords/"&gt;https://mieruca-ai.com/ai/nlp-stopwords/&lt;/a&gt;. &lt;a class="footnote-backref" href="#fnref-24" title="Jump back to footnote 25 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-25"&gt;
&lt;p&gt;A method of content-analysis first applied by psychologist Charles Osgood in his 1959 paper “The Representational Model and Relevant Research Methods”. KH Coder’s visual application is based on force-directed graph drawing algorithms known as Fruchterman–Reingold forces, a method developed by Fruchterman &amp;amp; Reingold in 1991. &lt;a class="footnote-backref" href="#fnref-25" title="Jump back to footnote 26 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-26"&gt;
&lt;p&gt;KWIC stands for Key Word In Context. A KWIC concordance shows a list of all the pieces of text containing a particular lemma (KH Coder performs a form of &lt;em&gt;lemmatization&lt;/em&gt; by taking the base form of the lemma based on the MeCab dictionary employed: i.e. stripping conjugation of verbs). &lt;a class="footnote-backref" href="#fnref-26" title="Jump back to footnote 27 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="Studies"></category><category term="Big Data"></category><category term="Digital Humanities"></category><category term="Japanese"></category><category term="Python"></category><category term="Tutorial"></category><category term="Twitter"></category></entry><entry><title>A Quick Guide to Data-mining &amp; (Textual) Analysis of (Japanese) Twitter Part 2: Basic Metrics &amp; Graphs</title><link href="https://steviepoppe.net/blog/2020/05/a-quick-guide-to-data-mining-textual-analysis-of-japanese-twitter-part-2/" rel="alternate"></link><published>2020-05-15T00:00:00+02:00</published><updated>2020-05-15T00:00:00+02:00</updated><author><name>Stevie Poppe</name></author><id>tag:steviepoppe.net,2020-05-15:/blog/2020/05/a-quick-guide-to-data-mining-textual-analysis-of-japanese-twitter-part-2/</id><summary type="html">&lt;p&gt;&lt;em&gt;This short series of blogs chronicles the bare-bones required to conduct a basic form of social media analysis on corpora of (Japanese) Tweets. It is primarily intended for &lt;/em&gt;&lt;em&gt;undergraduate and graduate students&lt;/em&gt;&lt;em&gt; whose topics of research include contemporary Japan or its online vox populi, and want to strengthen their existing research (such as an undergraduate thesis or term paper) with a social media-based quantitative angle.&lt;/em&gt;&lt;/p&gt;


&lt;p&gt;The purpose of this second blog is two-fold: 1) to introduce the reader to some possibilities in regards to basic social media analysis (applicable almost immediately upon having &lt;a href="https://steviepoppe.net/blog/2020/04/a-quick-guide-to-data-mining-textual-analysis-of-japanese-twitter/"&gt;finished the previous guide&lt;/a&gt;), and 2) to touch upon a crucial, yet sometimes ignored aspect of social media analysis: the legal and ethical caveats regarding privacy and informed content when researching user-generated content on social media.&lt;/p&gt;
&lt;p&gt;By using a concrete, real-world example, we will thus:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;i class="icon-check"&gt;&lt;/i&gt; Think about how we might integrate Twitter analysis into our project,&lt;/li&gt;
&lt;li&gt;&lt;i class="icon-check"&gt;&lt;/i&gt; Use the Python scripting language to further process our dataset to our needs and obtain relevant metrics,&lt;/li&gt;
&lt;li&gt;&lt;i class="icon-check"&gt;&lt;/i&gt; Use spreadsheet software such as Openlibre or Excel to produce pivot tables and graphs,&lt;/li&gt;
&lt;li&gt;&lt;i class="icon-check"&gt;&lt;/i&gt; Reflect on the ethical and legal ramifications of working with social media data in academic research.&lt;/li&gt;
&lt;/ul&gt;

&lt;h1 id="context"&gt;&lt;a class="toclink" href="#context"&gt;Context&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;I assisted several third-year BA students working on a group essay covering aspects of the COVID-19 virus and marital issues within a larger framework of hegemonic masculinity, femininity and gender hegemony in Japan. Their choice of incorporating an element of social network analysis was not ungrounded. Correlating to increased remote work measures taken in Japan as a COVID-19 precaution, several hashtags concerning marital issues began to trend on Japanese Twitter starting Mid-April 2020 and saw further acceleration after being promptly picked up on by several news outlets and tabloids both within- and outside of Japan (such as the Japanese hashtag #&lt;em&gt;coronadivorce&lt;/em&gt;, #&lt;em&gt;koronarikon&lt;/em&gt; #コロナ&lt;span lang="ja"&gt;&lt;ruby&gt;&lt;rb&gt;離婚&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;りこん&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;&lt;/span&gt;).&lt;/p&gt;
&lt;p&gt;One of my research interests concerns the many ways the internet, as a cultural artifact, augments or subverts our personal reality. Of interest to this project, then, was how the explosion in usage of the above hashtags reifies in Japan a situation that is undoubtedly being felt worldwide among many (married) couples during the pandemic. Concretely we had several questions: how does Twitter (and general social media usage) fit within the lives of struggling couples trying to cope with the uncertainty of the Corona crisis and its amplification of internal relational struggles? Does …&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;em&gt;This short series of blogs chronicles the bare-bones required to conduct a basic form of social media analysis on corpora of (Japanese) Tweets. It is primarily intended for &lt;/em&gt;&lt;em&gt;undergraduate and graduate students&lt;/em&gt;&lt;em&gt; whose topics of research include contemporary Japan or its online vox populi, and want to strengthen their existing research (such as an undergraduate thesis or term paper) with a social media-based quantitative angle.&lt;/em&gt;&lt;/p&gt;


&lt;p&gt;The purpose of this second blog is two-fold: 1) to introduce the reader to some possibilities in regards to basic social media analysis (applicable almost immediately upon having &lt;a href="https://steviepoppe.net/blog/2020/04/a-quick-guide-to-data-mining-textual-analysis-of-japanese-twitter/"&gt;finished the previous guide&lt;/a&gt;), and 2) to touch upon a crucial, yet sometimes ignored aspect of social media analysis: the legal and ethical caveats regarding privacy and informed content when researching user-generated content on social media.&lt;/p&gt;
&lt;p&gt;By using a concrete, real-world example, we will thus:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;i class="icon-check"&gt;&lt;/i&gt; Think about how we might integrate Twitter analysis into our project,&lt;/li&gt;
&lt;li&gt;&lt;i class="icon-check"&gt;&lt;/i&gt; Use the Python scripting language to further process our dataset to our needs and obtain relevant metrics,&lt;/li&gt;
&lt;li&gt;&lt;i class="icon-check"&gt;&lt;/i&gt; Use spreadsheet software such as Openlibre or Excel to produce pivot tables and graphs,&lt;/li&gt;
&lt;li&gt;&lt;i class="icon-check"&gt;&lt;/i&gt; Reflect on the ethical and legal ramifications of working with social media data in academic research.&lt;/li&gt;
&lt;/ul&gt;

&lt;h1 id="context"&gt;&lt;a class="toclink" href="#context"&gt;Context&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;I assisted several third-year BA students working on a group essay covering aspects of the COVID-19 virus and marital issues within a larger framework of hegemonic masculinity, femininity and gender hegemony in Japan. Their choice of incorporating an element of social network analysis was not ungrounded. Correlating to increased remote work measures taken in Japan as a COVID-19 precaution, several hashtags concerning marital issues began to trend on Japanese Twitter starting Mid-April 2020 and saw further acceleration after being promptly picked up on by several news outlets and tabloids both within- and outside of Japan (such as the Japanese hashtag #&lt;em&gt;coronadivorce&lt;/em&gt;, #&lt;em&gt;koronarikon&lt;/em&gt; #コロナ&lt;span lang="ja"&gt;&lt;ruby&gt;&lt;rb&gt;離婚&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;りこん&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;&lt;/span&gt;).&lt;/p&gt;
&lt;p&gt;One of my research interests concerns the many ways the internet, as a cultural artifact, augments or subverts our personal reality. Of interest to this project, then, was how the explosion in usage of the above hashtags reifies in Japan a situation that is undoubtedly being felt worldwide among many (married) couples during the pandemic. Concretely we had several questions: how does Twitter (and general social media usage) fit within the lives of struggling couples trying to cope with the uncertainty of the Corona crisis and its amplification of internal relational struggles? Does the usage of those hashtags reveal any attempts on Twitter to interconnect with one another, form communities and to share advice or frustrations? If so; can we pinpoint particular group dynamics? Might we find a steady increase of Twitter users empowered enough to engage in discourse with each other, or is its usage mostly limited to a form of semi-public, anonymous diaries kept by a small, stable group of users venting frustration? Moreover, what are the common topics of these posts? Can they be further divided in larger categories of frustration (e.g. relating to parents-in-law, housework, finances, children, etc)? Finally, what can this, in a greater socio-cultural context, tell us about gender roles and marriage expectations in Japan?&lt;/p&gt;
&lt;p&gt;Those are the kind of questions for which quantitative analysis of social media datasets might inductively help to lead the researcher to new theories, or instead strengthen one’s existing hypotheses. Having completed the previous tutorial and given a bit more work outlined below, this blog post introduces the reader to some very basic metrics and graphs that could already assist us in shedding some light on the above questions.&lt;/p&gt;
&lt;hr/&gt;
&lt;h1 id="preliminary-analysis"&gt;&lt;a class="toclink" href="#preliminary-analysis"&gt;Preliminary analysis&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="datasource"&gt;&lt;a class="toclink" href="#datasource"&gt;Datasource&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;For the purpose of both this article and the project highlighted above, one specific hashtag tying into the discourse of marital stress on Twitter was taken as the target of our analysis: #husbandstress (&lt;em&gt;dan’na sutoresu&lt;/em&gt;, #&lt;span lang="ja"&gt;&lt;ruby&gt;&lt;rb&gt;旦那&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;だんな&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;&lt;/span&gt;ストレス), using the archaic master / husband (dan’na, &lt;span lang="ja"&gt;&lt;ruby&gt;&lt;rb&gt;旦那&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;だんな&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;&lt;/span&gt;) to refer to one’s husband.&lt;/p&gt;
&lt;p&gt;The dataset was obtained using our historical search script with the &lt;code class="highlight"&gt;&lt;span class="n"&gt;lang&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;'ja'&lt;/span&gt;&lt;/code&gt; option enabled (limiting tweets to the Japanese language) on the above hashtag; ran for the first time on 8 May, 2020 (right after an extended golden week), with subsequent runs on 15 May, 2020, 22 May, 2020 and 29 May, 2020 (with the &lt;code&gt;since_id&lt;/code&gt; argument set to the ID of the last tweet in each preceding set). The first set includes 886 tweets and retweets from the period between Thu Apr 30 05:55:28 UTC and Fri May 08 14:25:30 UTC.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-1" id="fnref-1" rel="footnote"&gt;2&lt;/a&gt;&lt;/sup&gt; The second set includes 1178 (re)tweets tweeted between Fri May 08 15:21:46 UTC and Fri May 15 01:04:47 UTC. The third set includes 857 (re)tweets between Fri May 22 15:34:06 UTC and Fri May 15 01:55:21 UTC. The fourth and final set includes 686 (re)tweets posted between Fri May 22 16:51:16 and Fri May 29 13:54:15 UTC.&lt;/p&gt;
&lt;p&gt;Note
    It should again be noted that even in the case of a query that has relatively low usage, such as the one used here, the Twitter search API does not guarantee completeness and the results are thus indicators of trends among the engaging audience, rather than exhaustive resources. As stated on &lt;a href="https://developer.twitter.com/en/docs/tweets/search/overview/standard"&gt;developer.twitter.com&lt;/a&gt;: “The Twitter Search API searches against a sampling of recent Tweets published in the past 7 days. […] the standard search API is focused on relevance and not completeness. This means that some Tweets and users may be missing from search results.”&lt;/p&gt;
&lt;h2 id="processing-cleaning"&gt;&lt;a class="toclink" href="#processing-cleaning"&gt;Processing &amp;amp; Cleaning&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;In order to built a clean dataset in CSV format, used to produce a variety of graphs, this blog provides a slightly edited variant of the parsing script from the previous tutorial. Some of the significant changes to the previous script are as follows:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;An option to exclude retweets, or to include more meta-information when opting to keep them&lt;/li&gt;
&lt;li&gt;The addition of &lt;code&gt;user_mention&lt;/code&gt; information (i.e. other Twitter accounts tagged with @)&lt;/li&gt;
&lt;li&gt;An option to choose the CSV output filename&lt;/li&gt;
&lt;li&gt;An option to &lt;strong&gt;localize time&lt;/strong&gt; to the suspected timezone&lt;/li&gt;
&lt;li&gt;An option to calculate the total amount of retweets in our dataset and save tweets predating our calculations that were nevertheless retweeted since&lt;/li&gt;
&lt;li&gt;An option to check for double entries&lt;/li&gt;
&lt;li&gt;Performance &amp;amp; scalability: able to handle millions of rows and files taking up several gigabytes of disk space.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="pre-processing"&gt;&lt;a class="toclink" href="#pre-processing"&gt;Pre-processing&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Our edited script (also available for download on &lt;a href="https://github.com/steviepoppe/python_twitter_api_examples"&gt;GitHub&lt;/a&gt;) thus look as follows:&lt;/p&gt;
&lt;h3 id="python-script"&gt;&lt;a class="toclink" href="#python-script"&gt;Python script&lt;/a&gt;&lt;/h3&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt;  1&lt;/span&gt;
&lt;span class="normal"&gt;  2&lt;/span&gt;
&lt;span class="normal"&gt;  3&lt;/span&gt;
&lt;span class="normal"&gt;  4&lt;/span&gt;
&lt;span class="normal"&gt;  5&lt;/span&gt;
&lt;span class="normal"&gt;  6&lt;/span&gt;
&lt;span class="normal"&gt;  7&lt;/span&gt;
&lt;span class="normal"&gt;  8&lt;/span&gt;
&lt;span class="normal"&gt;  9&lt;/span&gt;
&lt;span class="normal"&gt; 10&lt;/span&gt;
&lt;span class="normal"&gt; 11&lt;/span&gt;
&lt;span class="normal"&gt; 12&lt;/span&gt;
&lt;span class="normal"&gt; 13&lt;/span&gt;
&lt;span class="normal"&gt; 14&lt;/span&gt;
&lt;span class="normal"&gt; 15&lt;/span&gt;
&lt;span class="normal"&gt; 16&lt;/span&gt;
&lt;span class="normal"&gt; 17&lt;/span&gt;
&lt;span class="normal"&gt; 18&lt;/span&gt;
&lt;span class="normal"&gt; 19&lt;/span&gt;
&lt;span class="normal"&gt; 20&lt;/span&gt;
&lt;span class="normal"&gt; 21&lt;/span&gt;
&lt;span class="normal"&gt; 22&lt;/span&gt;
&lt;span class="normal"&gt; 23&lt;/span&gt;
&lt;span class="normal"&gt; 24&lt;/span&gt;
&lt;span class="normal"&gt; 25&lt;/span&gt;
&lt;span class="normal"&gt; 26&lt;/span&gt;
&lt;span class="normal"&gt; 27&lt;/span&gt;
&lt;span class="normal"&gt; 28&lt;/span&gt;
&lt;span class="normal"&gt; 29&lt;/span&gt;
&lt;span class="normal"&gt; 30&lt;/span&gt;
&lt;span class="normal"&gt; 31&lt;/span&gt;
&lt;span class="normal"&gt; 32&lt;/span&gt;
&lt;span class="normal"&gt; 33&lt;/span&gt;
&lt;span class="normal"&gt; 34&lt;/span&gt;
&lt;span class="normal"&gt; 35&lt;/span&gt;
&lt;span class="normal"&gt; 36&lt;/span&gt;
&lt;span class="normal"&gt; 37&lt;/span&gt;
&lt;span class="normal"&gt; 38&lt;/span&gt;
&lt;span class="normal"&gt; 39&lt;/span&gt;
&lt;span class="normal"&gt; 40&lt;/span&gt;
&lt;span class="normal"&gt; 41&lt;/span&gt;
&lt;span class="normal"&gt; 42&lt;/span&gt;
&lt;span class="normal"&gt; 43&lt;/span&gt;
&lt;span class="normal"&gt; 44&lt;/span&gt;
&lt;span class="normal"&gt; 45&lt;/span&gt;
&lt;span class="normal"&gt; 46&lt;/span&gt;
&lt;span class="normal"&gt; 47&lt;/span&gt;
&lt;span class="normal"&gt; 48&lt;/span&gt;
&lt;span class="normal"&gt; 49&lt;/span&gt;
&lt;span class="normal"&gt; 50&lt;/span&gt;
&lt;span class="normal"&gt; 51&lt;/span&gt;
&lt;span class="normal"&gt; 52&lt;/span&gt;
&lt;span class="normal"&gt; 53&lt;/span&gt;
&lt;span class="normal"&gt; 54&lt;/span&gt;
&lt;span class="normal"&gt; 55&lt;/span&gt;
&lt;span class="normal"&gt; 56&lt;/span&gt;
&lt;span class="normal"&gt; 57&lt;/span&gt;
&lt;span class="normal"&gt; 58&lt;/span&gt;
&lt;span class="normal"&gt; 59&lt;/span&gt;
&lt;span class="normal"&gt; 60&lt;/span&gt;
&lt;span class="normal"&gt; 61&lt;/span&gt;
&lt;span class="normal"&gt; 62&lt;/span&gt;
&lt;span class="normal"&gt; 63&lt;/span&gt;
&lt;span class="normal"&gt; 64&lt;/span&gt;
&lt;span class="normal"&gt; 65&lt;/span&gt;
&lt;span class="normal"&gt; 66&lt;/span&gt;
&lt;span class="normal"&gt; 67&lt;/span&gt;
&lt;span class="normal"&gt; 68&lt;/span&gt;
&lt;span class="normal"&gt; 69&lt;/span&gt;
&lt;span class="normal"&gt; 70&lt;/span&gt;
&lt;span class="normal"&gt; 71&lt;/span&gt;
&lt;span class="normal"&gt; 72&lt;/span&gt;
&lt;span class="normal"&gt; 73&lt;/span&gt;
&lt;span class="normal"&gt; 74&lt;/span&gt;
&lt;span class="normal"&gt; 75&lt;/span&gt;
&lt;span class="normal"&gt; 76&lt;/span&gt;
&lt;span class="normal"&gt; 77&lt;/span&gt;
&lt;span class="normal"&gt; 78&lt;/span&gt;
&lt;span class="normal"&gt; 79&lt;/span&gt;
&lt;span class="normal"&gt; 80&lt;/span&gt;
&lt;span class="normal"&gt; 81&lt;/span&gt;
&lt;span class="normal"&gt; 82&lt;/span&gt;
&lt;span class="normal"&gt; 83&lt;/span&gt;
&lt;span class="normal"&gt; 84&lt;/span&gt;
&lt;span class="normal"&gt; 85&lt;/span&gt;
&lt;span class="normal"&gt; 86&lt;/span&gt;
&lt;span class="normal"&gt; 87&lt;/span&gt;
&lt;span class="normal"&gt; 88&lt;/span&gt;
&lt;span class="normal"&gt; 89&lt;/span&gt;
&lt;span class="normal"&gt; 90&lt;/span&gt;
&lt;span class="normal"&gt; 91&lt;/span&gt;
&lt;span class="normal"&gt; 92&lt;/span&gt;
&lt;span class="normal"&gt; 93&lt;/span&gt;
&lt;span class="normal"&gt; 94&lt;/span&gt;
&lt;span class="normal"&gt; 95&lt;/span&gt;
&lt;span class="normal"&gt; 96&lt;/span&gt;
&lt;span class="normal"&gt; 97&lt;/span&gt;
&lt;span class="normal"&gt; 98&lt;/span&gt;
&lt;span class="normal"&gt; 99&lt;/span&gt;
&lt;span class="normal"&gt;100&lt;/span&gt;
&lt;span class="normal"&gt;101&lt;/span&gt;
&lt;span class="normal"&gt;102&lt;/span&gt;
&lt;span class="normal"&gt;103&lt;/span&gt;
&lt;span class="normal"&gt;104&lt;/span&gt;
&lt;span class="normal"&gt;105&lt;/span&gt;
&lt;span class="normal"&gt;106&lt;/span&gt;
&lt;span class="normal"&gt;107&lt;/span&gt;
&lt;span class="normal"&gt;108&lt;/span&gt;
&lt;span class="normal"&gt;109&lt;/span&gt;
&lt;span class="normal"&gt;110&lt;/span&gt;
&lt;span class="normal"&gt;111&lt;/span&gt;
&lt;span class="normal"&gt;112&lt;/span&gt;
&lt;span class="normal"&gt;113&lt;/span&gt;
&lt;span class="normal"&gt;114&lt;/span&gt;
&lt;span class="normal"&gt;115&lt;/span&gt;
&lt;span class="normal"&gt;116&lt;/span&gt;
&lt;span class="normal"&gt;117&lt;/span&gt;
&lt;span class="normal"&gt;118&lt;/span&gt;
&lt;span class="normal"&gt;119&lt;/span&gt;
&lt;span class="normal"&gt;120&lt;/span&gt;
&lt;span class="normal"&gt;121&lt;/span&gt;
&lt;span class="normal"&gt;122&lt;/span&gt;
&lt;span class="normal"&gt;123&lt;/span&gt;
&lt;span class="normal"&gt;124&lt;/span&gt;
&lt;span class="normal"&gt;125&lt;/span&gt;
&lt;span class="normal"&gt;126&lt;/span&gt;
&lt;span class="normal"&gt;127&lt;/span&gt;
&lt;span class="normal"&gt;128&lt;/span&gt;
&lt;span class="normal"&gt;129&lt;/span&gt;
&lt;span class="normal"&gt;130&lt;/span&gt;
&lt;span class="normal"&gt;131&lt;/span&gt;
&lt;span class="normal"&gt;132&lt;/span&gt;
&lt;span class="normal"&gt;133&lt;/span&gt;
&lt;span class="normal"&gt;134&lt;/span&gt;
&lt;span class="normal"&gt;135&lt;/span&gt;
&lt;span class="normal"&gt;136&lt;/span&gt;
&lt;span class="normal"&gt;137&lt;/span&gt;
&lt;span class="normal"&gt;138&lt;/span&gt;
&lt;span class="normal"&gt;139&lt;/span&gt;
&lt;span class="normal"&gt;140&lt;/span&gt;
&lt;span class="normal"&gt;141&lt;/span&gt;
&lt;span class="normal"&gt;142&lt;/span&gt;
&lt;span class="normal"&gt;143&lt;/span&gt;
&lt;span class="normal"&gt;144&lt;/span&gt;
&lt;span class="normal"&gt;145&lt;/span&gt;
&lt;span class="normal"&gt;146&lt;/span&gt;
&lt;span class="normal"&gt;147&lt;/span&gt;
&lt;span class="normal"&gt;148&lt;/span&gt;
&lt;span class="normal"&gt;149&lt;/span&gt;
&lt;span class="normal"&gt;150&lt;/span&gt;
&lt;span class="normal"&gt;151&lt;/span&gt;
&lt;span class="normal"&gt;152&lt;/span&gt;
&lt;span class="normal"&gt;153&lt;/span&gt;
&lt;span class="normal"&gt;154&lt;/span&gt;
&lt;span class="normal"&gt;155&lt;/span&gt;
&lt;span class="normal"&gt;156&lt;/span&gt;
&lt;span class="normal"&gt;157&lt;/span&gt;
&lt;span class="normal"&gt;158&lt;/span&gt;
&lt;span class="normal"&gt;159&lt;/span&gt;
&lt;span class="normal"&gt;160&lt;/span&gt;
&lt;span class="normal"&gt;161&lt;/span&gt;
&lt;span class="normal"&gt;162&lt;/span&gt;
&lt;span class="normal"&gt;163&lt;/span&gt;
&lt;span class="normal"&gt;164&lt;/span&gt;
&lt;span class="normal"&gt;165&lt;/span&gt;
&lt;span class="normal"&gt;166&lt;/span&gt;
&lt;span class="normal"&gt;167&lt;/span&gt;
&lt;span class="normal"&gt;168&lt;/span&gt;
&lt;span class="normal"&gt;169&lt;/span&gt;
&lt;span class="normal"&gt;170&lt;/span&gt;
&lt;span class="normal"&gt;171&lt;/span&gt;
&lt;span class="normal"&gt;172&lt;/span&gt;
&lt;span class="normal"&gt;173&lt;/span&gt;
&lt;span class="normal"&gt;174&lt;/span&gt;
&lt;span class="normal"&gt;175&lt;/span&gt;
&lt;span class="normal"&gt;176&lt;/span&gt;
&lt;span class="normal"&gt;177&lt;/span&gt;
&lt;span class="normal"&gt;178&lt;/span&gt;
&lt;span class="normal"&gt;179&lt;/span&gt;
&lt;span class="normal"&gt;180&lt;/span&gt;
&lt;span class="normal"&gt;181&lt;/span&gt;
&lt;span class="normal"&gt;182&lt;/span&gt;
&lt;span class="normal"&gt;183&lt;/span&gt;
&lt;span class="normal"&gt;184&lt;/span&gt;
&lt;span class="normal"&gt;185&lt;/span&gt;
&lt;span class="normal"&gt;186&lt;/span&gt;
&lt;span class="normal"&gt;187&lt;/span&gt;
&lt;span class="normal"&gt;188&lt;/span&gt;
&lt;span class="normal"&gt;189&lt;/span&gt;
&lt;span class="normal"&gt;190&lt;/span&gt;
&lt;span class="normal"&gt;191&lt;/span&gt;
&lt;span class="normal"&gt;192&lt;/span&gt;
&lt;span class="normal"&gt;193&lt;/span&gt;
&lt;span class="normal"&gt;194&lt;/span&gt;
&lt;span class="normal"&gt;195&lt;/span&gt;
&lt;span class="normal"&gt;196&lt;/span&gt;
&lt;span class="normal"&gt;197&lt;/span&gt;
&lt;span class="normal"&gt;198&lt;/span&gt;
&lt;span class="normal"&gt;199&lt;/span&gt;
&lt;span class="normal"&gt;200&lt;/span&gt;
&lt;span class="normal"&gt;201&lt;/span&gt;
&lt;span class="normal"&gt;202&lt;/span&gt;
&lt;span class="normal"&gt;203&lt;/span&gt;
&lt;span class="normal"&gt;204&lt;/span&gt;
&lt;span class="normal"&gt;205&lt;/span&gt;
&lt;span class="normal"&gt;206&lt;/span&gt;
&lt;span class="normal"&gt;207&lt;/span&gt;
&lt;span class="normal"&gt;208&lt;/span&gt;
&lt;span class="normal"&gt;209&lt;/span&gt;
&lt;span class="normal"&gt;210&lt;/span&gt;
&lt;span class="normal"&gt;211&lt;/span&gt;
&lt;span class="normal"&gt;212&lt;/span&gt;
&lt;span class="normal"&gt;213&lt;/span&gt;
&lt;span class="normal"&gt;214&lt;/span&gt;
&lt;span class="normal"&gt;215&lt;/span&gt;
&lt;span class="normal"&gt;216&lt;/span&gt;
&lt;span class="normal"&gt;217&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;json&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;tweepy&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;sys&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;csv&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;os&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;pandas&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nn"&gt;pd&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;ijson&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;pytz&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;timezone&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;pathlib&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;Path&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;datetime&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;date&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;datetime&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;parse_tweets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sys_args&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;

    &lt;span class="n"&gt;file_name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;sys_args&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="n"&gt;time_zone&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;sys_args&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sys_args&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="s2"&gt;"utc"&lt;/span&gt;
    &lt;span class="n"&gt;keep_rt&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;sys_args&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sys_args&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="s2"&gt;"True"&lt;/span&gt;
    &lt;span class="n"&gt;save_file_name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;sys_args&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sys_args&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s1"&gt;_parsed'&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;file_name&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;add_totals&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;sys_args&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sys_args&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="s2"&gt;"False"&lt;/span&gt;
    &lt;span class="n"&gt;check_duplicates&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;sys_args&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sys_args&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;6&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="s2"&gt;"False"&lt;/span&gt;
    &lt;span class="n"&gt;count_tweets&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;
    &lt;span class="n"&gt;exists&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;path&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;isfile&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'./results/&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s1"&gt;.csv'&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;save_file_name&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="n"&gt;tweet_list&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;list&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

    &lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="nb"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"./results/&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s2"&gt;.json"&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;file_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;mode&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;'r'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;encoding&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"utf-8"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;tweet_data&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;tweets&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;ijson&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;items&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tweet_data&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'objects.item'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;tweet&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;tweets&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="n"&gt;entities&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"entities"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
            &lt;span class="n"&gt;user&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"user"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
            &lt;span class="n"&gt;hashtags&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt;
            &lt;span class="n"&gt;user_mentions&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt;

            &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="s1"&gt;'user_mentions'&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;entities&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                &lt;span class="n"&gt;user_mentions&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;user_mention&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"screen_name"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;user_mention&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;entities&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"user_mentions"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;

            &lt;span class="n"&gt;tweet_row&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{}&lt;/span&gt;
            &lt;span class="n"&gt;tweet_row&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"tweet_id"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"id"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
            &lt;span class="n"&gt;tweet_row&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"text"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;""&lt;/span&gt;
            &lt;span class="n"&gt;tweet_row&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"hashtags"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;""&lt;/span&gt;
            &lt;span class="n"&gt;tweet_row&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"user_mentions"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;','&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;join&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;user_mentions&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="n"&gt;tweet_row&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"created_at"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;localize_utc_object&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"created_at"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="n"&gt;time_zone&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

            &lt;span class="n"&gt;is_retweet&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"retweeted_status"&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;keep_rt&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s2"&gt;"True"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                &lt;span class="n"&gt;tweet_row&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"is_retweet"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;is_retweet&lt;/span&gt;
                &lt;span class="n"&gt;tweet_row&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"retweet_id"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;
                &lt;span class="n"&gt;tweet_row&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"retweet_created_at"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;None&lt;/span&gt;

            &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;keep_rt&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s2"&gt;"True"&lt;/span&gt; &lt;span class="ow"&gt;and&lt;/span&gt; &lt;span class="n"&gt;is_retweet&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="kc"&gt;True&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                &lt;span class="n"&gt;retweet&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"retweeted_status"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
                &lt;span class="n"&gt;re_entities&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;retweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"entities"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
                &lt;span class="n"&gt;tweet_row&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"retweet_id"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;retweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"id"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
                &lt;span class="n"&gt;tweet_row&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"retweet_created_at"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;localize_utc_object&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;retweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"created_at"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="n"&gt;time_zone&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

                &lt;span class="n"&gt;tweet_row&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"text"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"RT @"&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;retweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"user"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s2"&gt;"screen_name"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; 
                &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="s2"&gt;": "&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;retweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"extended_tweet"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s2"&gt;"full_text"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="s2"&gt;"extended_tweet"&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;retweet&lt;/span&gt;
                    &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="n"&gt;retweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"full_text"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="s2"&gt;"full_text"&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;retweet&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="n"&gt;retweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"text"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;

                &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="s1"&gt;'hashtags'&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;re_entities&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                    &lt;span class="n"&gt;hashtags&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;hashtag&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"text"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;hashtag&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;re_entities&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"hashtags"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
                &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;re_entities&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'user_mentions'&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                    &lt;span class="n"&gt;re_user_mentions&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;re_user_mention&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"screen_name"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; 
                        &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;re_user_mention&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;re_entities&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"user_mentions"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; 
                        &lt;span class="n"&gt;re_user_mention&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"screen_name"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;user_mentions&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
                    &lt;span class="n"&gt;re_user_mentions&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;','&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;join&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;re_user_mentions&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
                    &lt;span class="n"&gt;tweet_row&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"user_mentions"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;","&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;re_user_mentions&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                &lt;span class="n"&gt;tweet_row&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"text"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"extended_tweet"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s2"&gt;"full_text"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="s2"&gt;"extended_tweet"&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;tweet&lt;/span&gt; 
                    &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"full_text"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="s2"&gt;"full_text"&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;tweet&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"text"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;

                &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="s1"&gt;'hashtags'&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;entities&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                    &lt;span class="n"&gt;hashtags&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;hashtag&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"text"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;hashtag&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;entities&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"hashtags"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;

            &lt;span class="n"&gt;tweet_row&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"hashtags"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;','&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;join&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;hashtags&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="n"&gt;tweet_row&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"text"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tweet_row&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"text"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;strip&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

            &lt;span class="n"&gt;tweet_row&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"user_screen_name"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"screen_name"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
            &lt;span class="n"&gt;tweet_row&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"user_description"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"description"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
            &lt;span class="n"&gt;tweet_row&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"user_following_count"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"friends_count"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
            &lt;span class="n"&gt;tweet_row&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"user_followers_count"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"followers_count"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
            &lt;span class="n"&gt;tweet_row&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"user_total_tweets"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"statuses_count"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
            &lt;span class="n"&gt;tweet_row&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"user_created_at"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; 
            &lt;span class="n"&gt;localize_utc_object&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"created_at"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="n"&gt;time_zone&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="n"&gt;tweet_row&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"retweet_count_listed"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"retweet_count"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
            &lt;span class="n"&gt;tweet_row&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"retweet_count_dataset"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;

            &lt;span class="n"&gt;count_tweets&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
            &lt;span class="n"&gt;tweet_list&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tweet_row&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="c1"&gt;#these are memory intensive, do some garbage collecting&lt;/span&gt;
    &lt;span class="k"&gt;del&lt;/span&gt; &lt;span class="n"&gt;tweets&lt;/span&gt;
    &lt;span class="k"&gt;del&lt;/span&gt; &lt;span class="n"&gt;tweet_data&lt;/span&gt;
    &lt;span class="n"&gt;tweet_json&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;DataFrame&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tweet_list&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="nb"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'./results/&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s1"&gt;.csv'&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;save_file_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;mode&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;'a'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;encoding&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"utf-8"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;newline&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;''&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;file&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;tweet_json&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;to_csv&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;file&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;header&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="n"&gt;exists&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;index&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;False&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="k"&gt;del&lt;/span&gt; &lt;span class="n"&gt;tweet_json&lt;/span&gt;
    &lt;span class="k"&gt;del&lt;/span&gt; &lt;span class="n"&gt;file&lt;/span&gt;

    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;check_duplicates&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s2"&gt;"True"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;remove_duplicate_rows&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;save_file_name&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"Finished processing &lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s2"&gt; tweets. Saved to ./results/&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s2"&gt;.csv"&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;count_tweets&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;save_file_name&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;

    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;add_totals&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s2"&gt;"True"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;get_retweet_count&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;save_file_name&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;#note, changing the timestring to match the location based on an estimation (by language filters for ex.) is sloppy:&lt;/span&gt;
&lt;span class="c1"&gt;#-&amp;gt; what about Japanese tweets posted abroad? Difficult to detect since utc_offset is no longer supported by Twitter&lt;/span&gt;
&lt;span class="c1"&gt;#https://en.wikipedia.org/wiki/List_of_tz_database_time_zones&lt;/span&gt;
&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;localize_utc_object&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;time_string&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;time_zone&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;date_object&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;  &lt;span class="n"&gt;datetime&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;strptime&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;time_string&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="si"&gt;%a&lt;/span&gt;&lt;span class="s1"&gt; %b &lt;/span&gt;&lt;span class="si"&gt;%d&lt;/span&gt;&lt;span class="s1"&gt; %H:%M:%S %z %Y'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;time_zone&lt;/span&gt; &lt;span class="o"&gt;!=&lt;/span&gt; &lt;span class="s2"&gt;"utc"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;date_object&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;date_object&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;astimezone&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tz&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;timezone&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;time_zone&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="c1"&gt;#for example Asia/Tokyo&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;date_object&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;isoformat&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="c1"&gt;# Only way to find duplicates in CSV files that are too large too load in one time is to iterate by chunks&lt;/span&gt;
&lt;span class="c1"&gt;#collecting doubles in the first iteration and removing them in the second one&lt;/span&gt;
&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;remove_duplicate_rows&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;save_fn&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;double_ids&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;
    &lt;span class="n"&gt;chunksize&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;100000&lt;/span&gt;
    &lt;span class="n"&gt;count&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;
    &lt;span class="n"&gt;header&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;True&lt;/span&gt;

    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;chunk&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;read_csv&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'./results/&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s1"&gt;.csv'&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;save_fn&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;chunksize&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;chunksize&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;iterator&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;True&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="n"&gt;double_ids&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;extend&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;chunk&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'tweet_id'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;tolist&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;

    &lt;span class="c1"&gt;#Get list of double tweet_id&lt;/span&gt;
    &lt;span class="n"&gt;seen&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;set&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="n"&gt;seen2&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;
    &lt;span class="n"&gt;seen_add&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;seen&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;add&lt;/span&gt;
    &lt;span class="n"&gt;seen2_add&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;seen2&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;append&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;tweet&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;double_ids&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;tweet&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;seen&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="n"&gt;seen2_add&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="n"&gt;seen_add&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;del&lt;/span&gt; &lt;span class="n"&gt;seen&lt;/span&gt;

    &lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;rename&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"./results/&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s2"&gt;.csv"&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;save_fn&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;"./results/&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s2"&gt;_temp.csv"&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;save_fn&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;chunk&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;read_csv&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'./results/&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s1"&gt;_temp.csv'&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;save_fn&lt;/span&gt;
        &lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;chunksize&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;chunksize&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;iterator&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;True&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;index&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;tweet&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;chunk&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;iterrows&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
            &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"tweet_id"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;seen2&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                &lt;span class="n"&gt;chunk&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;drop&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;index&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;inplace&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;True&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
                &lt;span class="n"&gt;count&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
                &lt;span class="n"&gt;seen2&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;remove&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"tweet_id"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
                &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'Tweet ID: &lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s1"&gt; dropped from CSV.'&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"tweet_id"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
        &lt;span class="n"&gt;chunk&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;to_csv&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'./results/&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s1"&gt;.csv'&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;save_fn&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;encoding&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"utf-8"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;header&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;header&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;index&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;False&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;mode&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;'a'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="n"&gt;header&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;False&lt;/span&gt;

    &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="si"&gt;%d&lt;/span&gt;&lt;span class="s1"&gt; duplicate row(s) removed.'&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;count&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;remove&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"./results/&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s2"&gt;_temp.csv"&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;save_fn&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;get_retweet_count&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;file_name&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;

    &lt;span class="n"&gt;chunksize&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;100000&lt;/span&gt;
    &lt;span class="n"&gt;header&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;True&lt;/span&gt;
    &lt;span class="n"&gt;line_count&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;
    &lt;span class="n"&gt;Path&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"./results/metrics_&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s2"&gt;/"&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;file_name&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;mkdir&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;parents&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;True&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;exist_ok&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;True&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;rename&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"./results/&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s2"&gt;.csv"&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;file_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;"./results/&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s2"&gt;_temp.csv"&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;file_name&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="n"&gt;df&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;read_csv&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'./results/&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s1"&gt;_temp.csv'&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;file_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;usecols&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"retweet_id"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
    &lt;span class="n"&gt;retweets&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'retweet_id'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;value_counts&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;to_dict&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;retweets&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;del&lt;/span&gt; &lt;span class="n"&gt;retweets&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

    &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s2"&gt; unique retweets found. Processing..."&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;retweets&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;chunk&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;read_csv&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'./results/&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s1"&gt;_temp.csv'&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;file_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;chunksize&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;chunksize&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;iterator&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;True&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;index&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;tweet&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;chunk&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;iterrows&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
            &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"tweet_id"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;retweets&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                &lt;span class="n"&gt;chunk&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;at&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;index&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;'retweet_count_dataset'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;retweets&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"tweet_id"&lt;/span&gt;&lt;span class="p"&gt;]]&lt;/span&gt;
                &lt;span class="k"&gt;del&lt;/span&gt; &lt;span class="n"&gt;retweets&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"tweet_id"&lt;/span&gt;&lt;span class="p"&gt;]]&lt;/span&gt;
        &lt;span class="n"&gt;chunk&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;to_csv&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'./results/&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s1"&gt;.csv'&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;file_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;encoding&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"utf-8"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;header&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;header&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;index&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;False&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;mode&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;'a'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="n"&gt;header&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;False&lt;/span&gt;

    &lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;remove&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"./results/&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s2"&gt;_temp.csv"&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;file_name&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s2"&gt; retweets not in data set. Processing..."&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;retweets&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;

    &lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="nb"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'./results/metrics_&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s1"&gt;/&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s1"&gt;_old_retweets.csv'&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;file_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;file_name&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;mode&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;'w'&lt;/span&gt;
        &lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;encoding&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"utf-8"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;newline&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;''&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;file&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;writer&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;csv&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;writer&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;file&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="n"&gt;writer&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;writerow&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="s2"&gt;"tweet_id"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;"text"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"hashtags"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"user_screen_name"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="s2"&gt;"user_mentions"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"created_at"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"retweet_count"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"url"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;

        &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;chunk&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;read_csv&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'./results/&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s1"&gt;.csv'&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;file_name&lt;/span&gt;
            &lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;usecols&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"tweet_id"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;"text"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"hashtags"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;"user_mentions"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"retweet_created_at"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"retweet_id"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
            &lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;chunksize&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;chunksize&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;iterator&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;True&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
            &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;index&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;tweet&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;chunk&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;iterrows&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
                &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"retweet_id"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;retweets&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;isna&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"user_mentions"&lt;/span&gt;&lt;span class="p"&gt;]):&lt;/span&gt;
                        &lt;span class="n"&gt;user_mentions&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;re&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;findall&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
                            &lt;span class="sa"&gt;r&lt;/span&gt;&lt;span class="s1"&gt;'((?&amp;lt;=^|(?&amp;lt;=[^a-zA-Z0-9-\.]))(?&amp;lt;=@)[a-zA-Z0-9\/_]+(?=[^a-zA-Z0-9-_\.]))'&lt;/span&gt;
                            &lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"text"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
                    &lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                        &lt;span class="n"&gt;user_mentions&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"user_mentions"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;split&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;","&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
                    &lt;span class="n"&gt;screenname&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;user_mentions&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
                    &lt;span class="n"&gt;f_text&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"RT @&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s2"&gt;: "&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;screenname&lt;/span&gt;
                    &lt;span class="c1"&gt;## There's a rare flaw in the Twitter API that doesn't return the user mention of the og tweeter&lt;/span&gt;
                    &lt;span class="c1"&gt;## In such cases, use a regular expression&lt;/span&gt;
                    &lt;span class="n"&gt;f_mentions&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;","&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;join&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;user_mentions&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;:])&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;user_mentions&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;:])&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="kc"&gt;None&lt;/span&gt;
                    &lt;span class="n"&gt;hashtags&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;None&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;isna&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"hashtags"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt; 
                    &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"hashtags"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
                    &lt;span class="n"&gt;url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"https://twitter.com/&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s2"&gt;/status/&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;screenname&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"retweet_id"&lt;/span&gt;&lt;span class="p"&gt;]))&lt;/span&gt;
                    &lt;span class="n"&gt;writer&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;writerow&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"retweet_id"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
                        &lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"text"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;replace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;f_text&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;''&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;hashtags&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                    &lt;span class="n"&gt;screenname&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;f_mentions&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"retweet_created_at"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;retweets&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"retweet_id"&lt;/span&gt;&lt;span class="p"&gt;]],&lt;/span&gt; &lt;span class="n"&gt;url&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
                    &lt;span class="k"&gt;del&lt;/span&gt; &lt;span class="n"&gt;retweets&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"retweet_id"&lt;/span&gt;&lt;span class="p"&gt;]]&lt;/span&gt;
                    &lt;span class="n"&gt;line_count&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;

    &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"Finished calculating total tweets. Processed &lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s2"&gt; old retweets."&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;line_count&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="vm"&gt;__name__&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s1"&gt;'__main__'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;parse_tweets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sys&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;argv&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;div class="admonition note"&gt;
&lt;p class="admonition-title"&gt;Note&lt;/p&gt;
&lt;p&gt;The script above requires three new external libraries that need to be imported in our script (see &lt;strong&gt;lines 6 - 8&lt;/strong&gt;): &lt;strong&gt;&lt;a href="https://pypi.org/project/pytz/"&gt;Pytz&lt;/a&gt;&lt;/strong&gt; (used for date manipulation), &lt;strong&gt;&lt;a href="https://pypi.org/project/ijson/"&gt;ijson&lt;/a&gt;&lt;/strong&gt; (used for reading large JSON files in chunks) and &lt;strong&gt;&lt;a href="https://pandas.pydata.org/"&gt;Pandas&lt;/a&gt;&lt;/strong&gt; (a very powerful data manipulation and analysis library). Before doing so, first install them with the command prompt using &lt;strong&gt;pip&lt;/strong&gt; (&lt;code&gt;pip install pytz&lt;/code&gt;, &lt;code&gt;pip install ijson&lt;/code&gt; and &lt;code&gt;pip install pandas&lt;/code&gt;).&lt;/p&gt;
&lt;/div&gt;
&lt;h3 id="technical-notes"&gt;&lt;a class="toclink" href="#technical-notes"&gt;Technical notes&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Some technical notes about the above script:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Twitter adheres to the Coordinated Universal Time (UTC) time standard for date &amp;amp; time information of objects such as tweets and user accounts. If we have strong reason to believe that the tweets in our dataset were tweeted within the same timezone, and if we intend to use that data for our work, we may localize the timezone of all tweets (and/or the Twitter accounts tweeting those) in our dataset (see &lt;strong&gt;lines 8, 15, 41, 53, 78&lt;/strong&gt; and &lt;strong&gt;107-111&lt;/strong&gt;). In regards to our current dataset, which is fairly limited in size, it is fair to assume that with the possibility of some negligible exceptions, the vast majority (if not all) of those tweets were created within the Japanese timezone.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="admonition note"&gt;
&lt;p class="admonition-title"&gt;Note&lt;/p&gt;
&lt;p&gt;Taking into account any daylight saving time adjustments, Pytz uses the UTC offsets of the desired &lt;code&gt;timezone&lt;/code&gt; for its localization. The time_zone information we’re passing to the above &lt;code&gt;localize_utc_object&lt;/code&gt; function should adhere to the &lt;a href="https://en.wikipedia.org/wiki/List_of_tz_database_time_zones"&gt;TZ database names&lt;/a&gt; of the desired country (e.g. &lt;strong&gt;Asia/Tokyo&lt;/strong&gt;).&lt;/p&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;By adjusting the &lt;code&gt;mode&lt;/code&gt; argument of the &lt;code&gt;open&lt;/code&gt; function to &lt;code&gt;a&lt;/code&gt; (append), rather than &lt;code&gt;w&lt;/code&gt; (write, which would overwrite any existing files), our script can append the results from a second JSON dataset to an existing CSV file. Furthermore, to ensure that we append results to the same output file every time we want to update our dataset over time, the script now takes an argument to define the filename of the CSV file our results will be written to (see &lt;strong&gt;lines 17&lt;/strong&gt; and &lt;strong&gt;90&lt;/strong&gt;).&lt;/li&gt;
&lt;li&gt;If we decide to include retweets in our set (useful for meta information on those who retweet content), we could calculate the amount of times tweets have been retweeted based on the amount of retweets of that tweet in our dataset. Using a temporary helper CSV file, the original CSV is then rewritten to include this information.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-2" id="fnref-2" rel="footnote"&gt;3&lt;/a&gt;&lt;/sup&gt; Moreover, if our dataset contains retweets of original tweets that predate the earliest tweet data we possess, this script further generates a list of those original tweets (e.g. &lt;strong&gt;/metrics/#旦那ストレス_old_retweets.csv&lt;/strong&gt;), including information such as tweet ID, text, hashtags, user name of the original tweeter, time of creation, amount of retweets and a direct URL to that tweet (see &lt;strong&gt;lines 16, 49-68, 101-102&lt;/strong&gt; and &lt;strong&gt;150-199&lt;/strong&gt;).&lt;/li&gt;
&lt;li&gt;When working with JSON data files compiled over a larger period of time, it is not unlikely duplications of tweets might have entered our dataset. In order to remove possible duplicate tweets, a helper function iterates through all rows of a CSV file, keeping track of the rows with a unique ID, and rewrites the output file based on those unique values (see &lt;strong&gt;lines 19, 96-97&lt;/strong&gt; and &lt;strong&gt;115-148&lt;/strong&gt;).&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-3" id="fnref-3" rel="footnote"&gt;4&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;
&lt;li&gt;Both scripts on this page use the Pandas data manipulation library to read CSV files in chunks, which slightly impacts speed but drastically reduces memory consumption by iterating over an arbitrary amount of rows at a time (see &lt;strong&gt;lines 6, 89, 91, 159-160, 165-171&lt;/strong&gt; and &lt;strong&gt;182-199&lt;/strong&gt;).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The script above thus takes several new optional arguments when run in command line. In order, they are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The timezone to localize Tweets by (defaults to &lt;code&gt;'utc'&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;A boolean to decide whether or not to include retweets (defaults to &lt;code&gt;True&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;The name of the output file (defaults to the name of the JSON file with &lt;strong&gt;’_parsed’&lt;/strong&gt; attached to it)&lt;/li&gt;
&lt;li&gt;A boolean to decide whether or not to calculate retweets for unique tweets (defaults to &lt;code&gt;True&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;A boolean to decide whether to check for doubles in CSV based on the tweet ID (defaults to &lt;code&gt;True&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="admonition note"&gt;
&lt;p class="admonition-title"&gt;Note&lt;/p&gt;
&lt;p&gt;The command in our command prompt (after first navigating to the correct folder using the change directory command &lt;code&gt;cd&lt;/code&gt;) will therefore resemble something akin to: &lt;code&gt;python python_parse_tweet_ver2.py search_tweets_#旦那ストレス_20200515_030826 Asia/Tokyo True #旦那ストレス True True&lt;/code&gt;. That command runs the above python script (&lt;strong&gt;python_parse_tweet_ver2.py&lt;/strong&gt;) on a raw JSON file &lt;strong&gt;search_tweets_#旦那ストレス_20200515_030826.json&lt;/strong&gt;, localizes the Tweets to Japanese Standard Time (JST), includes retweets, outputs to a CSV file called &lt;strong&gt;#旦那ストレス.csv&lt;/strong&gt;, calculates the amount of times tweets have been retweeted since they were tweeted, and finally, checks for any duplicates in the CSV file.&lt;/p&gt;
&lt;/div&gt;
&lt;h2 id="metrics-graphs"&gt;&lt;a class="toclink" href="#metrics-graphs"&gt;Metrics &amp;amp; Graphs&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="calculating-metrics-with-python"&gt;&lt;a class="toclink" href="#calculating-metrics-with-python"&gt;Calculating Metrics with Python&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Based on our existing CSV we can now start calculating various metrics and produce graphs with our spreadsheet software of choice. As-is, there is plenty we could do already solely by importing the ‘master CSV’ file generated earlier and using pivot tables and graphs. This blog post, however, provides another script with a variety of helper methods to calculate and export some of the most prevalently used metrics in separate CSV files. This part will therefore, again, briefly elaborate on that python script, before proceeding to demonstrate the kind of visuals that can be extracted from the generated data and how it might fit into one’s research project. The script below thus contains four general helper functions:&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-4" id="fnref-4" rel="footnote"&gt;5&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;div class="admonition note"&gt;
&lt;p class="admonition-title"&gt;Note&lt;/p&gt;
&lt;p&gt;Similar to before, the script below (available on &lt;a href="https://github.com/steviepoppe/python_twitter_api_examples"&gt;GitHub&lt;/a&gt;) should be saved in the folder we have used thus far to store the rest of our script files in (e.g. ‘&lt;strong&gt;C:/python_examples&lt;/strong&gt;‘ → ‘&lt;strong&gt;python_metrics.py’&lt;/strong&gt;).&lt;/p&gt;
&lt;p&gt;The next script take one argument: the name of the input CSV file generated with the script above. The commands used to execute our script could thus respectively look like: &lt;code&gt;python python_metrics.py #旦那ストレス&lt;/code&gt; (output CSV files are stored in a new folder named after the input, e.g. ‘&lt;strong&gt;/metrics_#旦那ストレス&lt;/strong&gt;/’).&lt;/p&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;User data&lt;/strong&gt;: generates a list of all unique users in our dataset, including 1) calculated fields such as the amount of tweets and retweets each user has contributed to our dataset or how many times their tweets were retweeted, and 2) general information such user name, description, account creation date, following/follower count and the total amount of tweets (taken at the time of the most recent contribution to our dataset).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Hashtag frequency&lt;/strong&gt;: generates a list of each unique hashtag, the amount of times it appeared in (re)tweets and the amount of (re)tweeters having used that hashtag.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Date frequency&lt;/strong&gt;: generates, for each day in our dataset, the amount of tweets, retweets, unique tweeters, retweeters and overlap between tweeters | retweeters in our dataset.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Time frequency&lt;/strong&gt;: generates the same as above, filtered by hour.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Essentially, this script iterates through each tweet in our input CSV file, storing the required information in python ‘dictionaries’. Upon finishing, it again iterates through each of those python dictionaries, writing the content to helper CSV files containing metrics for each of the four functions defined above.&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt;  1&lt;/span&gt;
&lt;span class="normal"&gt;  2&lt;/span&gt;
&lt;span class="normal"&gt;  3&lt;/span&gt;
&lt;span class="normal"&gt;  4&lt;/span&gt;
&lt;span class="normal"&gt;  5&lt;/span&gt;
&lt;span class="normal"&gt;  6&lt;/span&gt;
&lt;span class="normal"&gt;  7&lt;/span&gt;
&lt;span class="normal"&gt;  8&lt;/span&gt;
&lt;span class="normal"&gt;  9&lt;/span&gt;
&lt;span class="normal"&gt; 10&lt;/span&gt;
&lt;span class="normal"&gt; 11&lt;/span&gt;
&lt;span class="normal"&gt; 12&lt;/span&gt;
&lt;span class="normal"&gt; 13&lt;/span&gt;
&lt;span class="normal"&gt; 14&lt;/span&gt;
&lt;span class="normal"&gt; 15&lt;/span&gt;
&lt;span class="normal"&gt; 16&lt;/span&gt;
&lt;span class="normal"&gt; 17&lt;/span&gt;
&lt;span class="normal"&gt; 18&lt;/span&gt;
&lt;span class="normal"&gt; 19&lt;/span&gt;
&lt;span class="normal"&gt; 20&lt;/span&gt;
&lt;span class="normal"&gt; 21&lt;/span&gt;
&lt;span class="normal"&gt; 22&lt;/span&gt;
&lt;span class="normal"&gt; 23&lt;/span&gt;
&lt;span class="normal"&gt; 24&lt;/span&gt;
&lt;span class="normal"&gt; 25&lt;/span&gt;
&lt;span class="normal"&gt; 26&lt;/span&gt;
&lt;span class="normal"&gt; 27&lt;/span&gt;
&lt;span class="normal"&gt; 28&lt;/span&gt;
&lt;span class="normal"&gt; 29&lt;/span&gt;
&lt;span class="normal"&gt; 30&lt;/span&gt;
&lt;span class="normal"&gt; 31&lt;/span&gt;
&lt;span class="normal"&gt; 32&lt;/span&gt;
&lt;span class="normal"&gt; 33&lt;/span&gt;
&lt;span class="normal"&gt; 34&lt;/span&gt;
&lt;span class="normal"&gt; 35&lt;/span&gt;
&lt;span class="normal"&gt; 36&lt;/span&gt;
&lt;span class="normal"&gt; 37&lt;/span&gt;
&lt;span class="normal"&gt; 38&lt;/span&gt;
&lt;span class="normal"&gt; 39&lt;/span&gt;
&lt;span class="normal"&gt; 40&lt;/span&gt;
&lt;span class="normal"&gt; 41&lt;/span&gt;
&lt;span class="normal"&gt; 42&lt;/span&gt;
&lt;span class="normal"&gt; 43&lt;/span&gt;
&lt;span class="normal"&gt; 44&lt;/span&gt;
&lt;span class="normal"&gt; 45&lt;/span&gt;
&lt;span class="normal"&gt; 46&lt;/span&gt;
&lt;span class="normal"&gt; 47&lt;/span&gt;
&lt;span class="normal"&gt; 48&lt;/span&gt;
&lt;span class="normal"&gt; 49&lt;/span&gt;
&lt;span class="normal"&gt; 50&lt;/span&gt;
&lt;span class="normal"&gt; 51&lt;/span&gt;
&lt;span class="normal"&gt; 52&lt;/span&gt;
&lt;span class="normal"&gt; 53&lt;/span&gt;
&lt;span class="normal"&gt; 54&lt;/span&gt;
&lt;span class="normal"&gt; 55&lt;/span&gt;
&lt;span class="normal"&gt; 56&lt;/span&gt;
&lt;span class="normal"&gt; 57&lt;/span&gt;
&lt;span class="normal"&gt; 58&lt;/span&gt;
&lt;span class="normal"&gt; 59&lt;/span&gt;
&lt;span class="normal"&gt; 60&lt;/span&gt;
&lt;span class="normal"&gt; 61&lt;/span&gt;
&lt;span class="normal"&gt; 62&lt;/span&gt;
&lt;span class="normal"&gt; 63&lt;/span&gt;
&lt;span class="normal"&gt; 64&lt;/span&gt;
&lt;span class="normal"&gt; 65&lt;/span&gt;
&lt;span class="normal"&gt; 66&lt;/span&gt;
&lt;span class="normal"&gt; 67&lt;/span&gt;
&lt;span class="normal"&gt; 68&lt;/span&gt;
&lt;span class="normal"&gt; 69&lt;/span&gt;
&lt;span class="normal"&gt; 70&lt;/span&gt;
&lt;span class="normal"&gt; 71&lt;/span&gt;
&lt;span class="normal"&gt; 72&lt;/span&gt;
&lt;span class="normal"&gt; 73&lt;/span&gt;
&lt;span class="normal"&gt; 74&lt;/span&gt;
&lt;span class="normal"&gt; 75&lt;/span&gt;
&lt;span class="normal"&gt; 76&lt;/span&gt;
&lt;span class="normal"&gt; 77&lt;/span&gt;
&lt;span class="normal"&gt; 78&lt;/span&gt;
&lt;span class="normal"&gt; 79&lt;/span&gt;
&lt;span class="normal"&gt; 80&lt;/span&gt;
&lt;span class="normal"&gt; 81&lt;/span&gt;
&lt;span class="normal"&gt; 82&lt;/span&gt;
&lt;span class="normal"&gt; 83&lt;/span&gt;
&lt;span class="normal"&gt; 84&lt;/span&gt;
&lt;span class="normal"&gt; 85&lt;/span&gt;
&lt;span class="normal"&gt; 86&lt;/span&gt;
&lt;span class="normal"&gt; 87&lt;/span&gt;
&lt;span class="normal"&gt; 88&lt;/span&gt;
&lt;span class="normal"&gt; 89&lt;/span&gt;
&lt;span class="normal"&gt; 90&lt;/span&gt;
&lt;span class="normal"&gt; 91&lt;/span&gt;
&lt;span class="normal"&gt; 92&lt;/span&gt;
&lt;span class="normal"&gt; 93&lt;/span&gt;
&lt;span class="normal"&gt; 94&lt;/span&gt;
&lt;span class="normal"&gt; 95&lt;/span&gt;
&lt;span class="normal"&gt; 96&lt;/span&gt;
&lt;span class="normal"&gt; 97&lt;/span&gt;
&lt;span class="normal"&gt; 98&lt;/span&gt;
&lt;span class="normal"&gt; 99&lt;/span&gt;
&lt;span class="normal"&gt;100&lt;/span&gt;
&lt;span class="normal"&gt;101&lt;/span&gt;
&lt;span class="normal"&gt;102&lt;/span&gt;
&lt;span class="normal"&gt;103&lt;/span&gt;
&lt;span class="normal"&gt;104&lt;/span&gt;
&lt;span class="normal"&gt;105&lt;/span&gt;
&lt;span class="normal"&gt;106&lt;/span&gt;
&lt;span class="normal"&gt;107&lt;/span&gt;
&lt;span class="normal"&gt;108&lt;/span&gt;
&lt;span class="normal"&gt;109&lt;/span&gt;
&lt;span class="normal"&gt;110&lt;/span&gt;
&lt;span class="normal"&gt;111&lt;/span&gt;
&lt;span class="normal"&gt;112&lt;/span&gt;
&lt;span class="normal"&gt;113&lt;/span&gt;
&lt;span class="normal"&gt;114&lt;/span&gt;
&lt;span class="normal"&gt;115&lt;/span&gt;
&lt;span class="normal"&gt;116&lt;/span&gt;
&lt;span class="normal"&gt;117&lt;/span&gt;
&lt;span class="normal"&gt;118&lt;/span&gt;
&lt;span class="normal"&gt;119&lt;/span&gt;
&lt;span class="normal"&gt;120&lt;/span&gt;
&lt;span class="normal"&gt;121&lt;/span&gt;
&lt;span class="normal"&gt;122&lt;/span&gt;
&lt;span class="normal"&gt;123&lt;/span&gt;
&lt;span class="normal"&gt;124&lt;/span&gt;
&lt;span class="normal"&gt;125&lt;/span&gt;
&lt;span class="normal"&gt;126&lt;/span&gt;
&lt;span class="normal"&gt;127&lt;/span&gt;
&lt;span class="normal"&gt;128&lt;/span&gt;
&lt;span class="normal"&gt;129&lt;/span&gt;
&lt;span class="normal"&gt;130&lt;/span&gt;
&lt;span class="normal"&gt;131&lt;/span&gt;
&lt;span class="normal"&gt;132&lt;/span&gt;
&lt;span class="normal"&gt;133&lt;/span&gt;
&lt;span class="normal"&gt;134&lt;/span&gt;
&lt;span class="normal"&gt;135&lt;/span&gt;
&lt;span class="normal"&gt;136&lt;/span&gt;
&lt;span class="normal"&gt;137&lt;/span&gt;
&lt;span class="normal"&gt;138&lt;/span&gt;
&lt;span class="normal"&gt;139&lt;/span&gt;
&lt;span class="normal"&gt;140&lt;/span&gt;
&lt;span class="normal"&gt;141&lt;/span&gt;
&lt;span class="normal"&gt;142&lt;/span&gt;
&lt;span class="normal"&gt;143&lt;/span&gt;
&lt;span class="normal"&gt;144&lt;/span&gt;
&lt;span class="normal"&gt;145&lt;/span&gt;
&lt;span class="normal"&gt;146&lt;/span&gt;
&lt;span class="normal"&gt;147&lt;/span&gt;
&lt;span class="normal"&gt;148&lt;/span&gt;
&lt;span class="normal"&gt;149&lt;/span&gt;
&lt;span class="normal"&gt;150&lt;/span&gt;
&lt;span class="normal"&gt;151&lt;/span&gt;
&lt;span class="normal"&gt;152&lt;/span&gt;
&lt;span class="normal"&gt;153&lt;/span&gt;
&lt;span class="normal"&gt;154&lt;/span&gt;
&lt;span class="normal"&gt;155&lt;/span&gt;
&lt;span class="normal"&gt;156&lt;/span&gt;
&lt;span class="normal"&gt;157&lt;/span&gt;
&lt;span class="normal"&gt;158&lt;/span&gt;
&lt;span class="normal"&gt;159&lt;/span&gt;
&lt;span class="normal"&gt;160&lt;/span&gt;
&lt;span class="normal"&gt;161&lt;/span&gt;
&lt;span class="normal"&gt;162&lt;/span&gt;
&lt;span class="normal"&gt;163&lt;/span&gt;
&lt;span class="normal"&gt;164&lt;/span&gt;
&lt;span class="normal"&gt;165&lt;/span&gt;
&lt;span class="normal"&gt;166&lt;/span&gt;
&lt;span class="normal"&gt;167&lt;/span&gt;
&lt;span class="normal"&gt;168&lt;/span&gt;
&lt;span class="normal"&gt;169&lt;/span&gt;
&lt;span class="normal"&gt;170&lt;/span&gt;
&lt;span class="normal"&gt;171&lt;/span&gt;
&lt;span class="normal"&gt;172&lt;/span&gt;
&lt;span class="normal"&gt;173&lt;/span&gt;
&lt;span class="normal"&gt;174&lt;/span&gt;
&lt;span class="normal"&gt;175&lt;/span&gt;
&lt;span class="normal"&gt;176&lt;/span&gt;
&lt;span class="normal"&gt;177&lt;/span&gt;
&lt;span class="normal"&gt;178&lt;/span&gt;
&lt;span class="normal"&gt;179&lt;/span&gt;
&lt;span class="normal"&gt;180&lt;/span&gt;
&lt;span class="normal"&gt;181&lt;/span&gt;
&lt;span class="normal"&gt;182&lt;/span&gt;
&lt;span class="normal"&gt;183&lt;/span&gt;
&lt;span class="normal"&gt;184&lt;/span&gt;
&lt;span class="normal"&gt;185&lt;/span&gt;
&lt;span class="normal"&gt;186&lt;/span&gt;
&lt;span class="normal"&gt;187&lt;/span&gt;
&lt;span class="normal"&gt;188&lt;/span&gt;
&lt;span class="normal"&gt;189&lt;/span&gt;
&lt;span class="normal"&gt;190&lt;/span&gt;
&lt;span class="normal"&gt;191&lt;/span&gt;
&lt;span class="normal"&gt;192&lt;/span&gt;
&lt;span class="normal"&gt;193&lt;/span&gt;
&lt;span class="normal"&gt;194&lt;/span&gt;
&lt;span class="normal"&gt;195&lt;/span&gt;
&lt;span class="normal"&gt;196&lt;/span&gt;
&lt;span class="normal"&gt;197&lt;/span&gt;
&lt;span class="normal"&gt;198&lt;/span&gt;
&lt;span class="normal"&gt;199&lt;/span&gt;
&lt;span class="normal"&gt;200&lt;/span&gt;
&lt;span class="normal"&gt;201&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;json&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;sys&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;csv&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;datetime&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;date&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;datetime&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;time&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;pathlib&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;Path&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;pandas&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nn"&gt;pd&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;parse_tweets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sys_args&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;

    &lt;span class="n"&gt;file_name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;sys_args&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="n"&gt;keep_rt&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;sys_args&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sys_args&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="s2"&gt;"True"&lt;/span&gt;
    &lt;span class="n"&gt;chunksize&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;100000&lt;/span&gt;
    &lt;span class="n"&gt;hashtags&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{}&lt;/span&gt;
    &lt;span class="n"&gt;date_set&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{}&lt;/span&gt;
    &lt;span class="n"&gt;time_set&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{}&lt;/span&gt;
    &lt;span class="n"&gt;user_set&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{}&lt;/span&gt;
    &lt;span class="n"&gt;line_count&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;

    &lt;span class="n"&gt;Path&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"./results/metrics_&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s2"&gt;/"&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;file_name&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;mkdir&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;parents&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;True&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;exist_ok&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;True&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;chunk&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;read_csv&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'./results/&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s1"&gt;.csv'&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;file_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;encoding&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"utf-8"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;chunksize&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;chunksize&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;iterator&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;True&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;index&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;tweet&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;chunk&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;iterrows&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
            &lt;span class="n"&gt;line_count&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
            &lt;span class="n"&gt;is_retweet&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"is_retweet"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="kc"&gt;True&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;
            &lt;span class="n"&gt;hashtag_metrics&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;hashtags&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;is_retweet&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="n"&gt;date_metrics&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;date_set&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;is_retweet&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="n"&gt;time_metrics&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;time_set&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;is_retweet&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="n"&gt;user_metrics&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;user_set&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;is_retweet&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;keep_rt&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'Processed &lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s1"&gt; lines.'&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;line_count&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'Processed total of &lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s1"&gt; lines.'&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;line_count&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;save_hashtag_metrics&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;hashtags&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;file_name&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;save_date_metrics&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;date_set&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;file_name&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;save_time_metrics&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;time_set&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;file_name&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;save_user_metrics&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;user_set&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;file_name&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;hashtag_metrics&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;hashtags&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;is_retweet&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;isna&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"hashtags"&lt;/span&gt;&lt;span class="p"&gt;]):&lt;/span&gt;
        &lt;span class="n"&gt;c_hashtags&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"hashtags"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;replace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;",,"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;","&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;split&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;","&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;hashtag&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;c_hashtags&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;                      
            &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;hashtag&lt;/span&gt; &lt;span class="o"&gt;!=&lt;/span&gt; &lt;span class="s1"&gt;''&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;hashtag&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;hashtags&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                    &lt;span class="n"&gt;hashtags&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;hashtag&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="n"&gt;is_retweet&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;hashtags&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;hashtag&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="n"&gt;is_retweet&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
                &lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                    &lt;span class="n"&gt;retweet_status&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
                    &lt;span class="n"&gt;retweet_status&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;is_retweet&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
                    &lt;span class="n"&gt;retweet_status&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="n"&gt;is_retweet&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;
                    &lt;span class="n"&gt;retweet_status&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
                    &lt;span class="n"&gt;retweet_status&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;
                    &lt;span class="n"&gt;retweet_status&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;
                    &lt;span class="n"&gt;hashtags&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;hashtag&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;retweet_status&lt;/span&gt;
                &lt;span class="n"&gt;hashtags&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;hashtag&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="n"&gt;is_retweet&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"user_screen_name"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;date_metrics&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;date_set&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;is_retweet&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;tweet_created_date&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;datetime&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;fromisoformat&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"created_at"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;strftime&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"%m/&lt;/span&gt;&lt;span class="si"&gt;%d&lt;/span&gt;&lt;span class="s2"&gt;/%Y"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="n"&gt;tweet_created_date&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;date_set&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;retweet_status&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
        &lt;span class="n"&gt;retweet_status&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;is_retweet&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
        &lt;span class="n"&gt;retweet_status&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="n"&gt;is_retweet&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;
        &lt;span class="n"&gt;date_set&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;tweet_created_date&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;retweet_status&lt;/span&gt;
        &lt;span class="n"&gt;retweet_status&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
        &lt;span class="n"&gt;retweet_status&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;
        &lt;span class="n"&gt;retweet_status&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;
    &lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;date_set&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;tweet_created_date&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="n"&gt;is_retweet&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
    &lt;span class="n"&gt;date_set&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;tweet_created_date&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="n"&gt;is_retweet&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"user_screen_name"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;time_metrics&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;time_set&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;is_retweet&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;tweet_created_time&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;datetime&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;fromisoformat&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"created_at"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;strftime&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"%H"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;#change to %I %p for AM/PM&lt;/span&gt;

    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="n"&gt;tweet_created_time&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;time_set&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;retweet_status&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
        &lt;span class="n"&gt;retweet_status&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;is_retweet&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
        &lt;span class="n"&gt;retweet_status&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="n"&gt;is_retweet&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;
        &lt;span class="n"&gt;time_set&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;tweet_created_time&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;retweet_status&lt;/span&gt;
        &lt;span class="n"&gt;retweet_status&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
        &lt;span class="n"&gt;retweet_status&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;
        &lt;span class="n"&gt;retweet_status&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;
    &lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;time_set&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;tweet_created_time&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="n"&gt;is_retweet&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
    &lt;span class="n"&gt;time_set&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;tweet_created_time&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="n"&gt;is_retweet&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"user_screen_name"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;user_metrics&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;user_set&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;is_retweet&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;keep_rt&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"retweeted_status"&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="kc"&gt;False&lt;/span&gt; &lt;span class="ow"&gt;or&lt;/span&gt; &lt;span class="n"&gt;keep_rt&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s2"&gt;"True"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;user&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{}&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"user_screen_name"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;user_set&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"screen_name"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"user_screen_name"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
            &lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"description"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"user_description"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
            &lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"following_count"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"user_following_count"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
            &lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"followers_count"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"user_followers_count"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
            &lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"total_tweets"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"user_total_tweets"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
            &lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"created_at"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"user_created_at"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
            &lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"total_in_data_set"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
            &lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"total_in_data_set"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="n"&gt;is_retweet&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
            &lt;span class="c1"&gt;## Note, if full retweet count is preferred, replace "retweet_count_dataset" with "retweet_count_listed"&lt;/span&gt;
            &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="s2"&gt;"retweet_count_dataset"&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                &lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"total_times_retweeted_set"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;int&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"retweet_count_dataset"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
            &lt;span class="n"&gt;user_set&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"user_screen_name"&lt;/span&gt;&lt;span class="p"&gt;]]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;user&lt;/span&gt;

        &lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;           
            &lt;span class="n"&gt;user_set&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"user_screen_name"&lt;/span&gt;&lt;span class="p"&gt;]][&lt;/span&gt;&lt;span class="s2"&gt;"total_in_data_set"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="n"&gt;is_retweet&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
            &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="s2"&gt;"retweet_count_dataset"&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                &lt;span class="n"&gt;user_set&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"user_screen_name"&lt;/span&gt;&lt;span class="p"&gt;]][&lt;/span&gt;&lt;span class="s2"&gt;"total_times_retweeted_set"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="nb"&gt;int&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"retweet_count_dataset"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
            &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"user_following_count"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;user_set&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"user_screen_name"&lt;/span&gt;&lt;span class="p"&gt;]][&lt;/span&gt;&lt;span class="s2"&gt;"following_count"&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt;
                &lt;span class="n"&gt;user_set&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"user_screen_name"&lt;/span&gt;&lt;span class="p"&gt;]][&lt;/span&gt;&lt;span class="s2"&gt;"following_count"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; 
            &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"user_followers_count"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;user_set&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"user_screen_name"&lt;/span&gt;&lt;span class="p"&gt;]][&lt;/span&gt;&lt;span class="s2"&gt;"followers_count"&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt;
                &lt;span class="n"&gt;user_set&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"user_screen_name"&lt;/span&gt;&lt;span class="p"&gt;]][&lt;/span&gt;&lt;span class="s2"&gt;"followers_count"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; 
            &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"user_total_tweets"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;user_set&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"user_screen_name"&lt;/span&gt;&lt;span class="p"&gt;]][&lt;/span&gt;&lt;span class="s2"&gt;"total_tweets"&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt;
                &lt;span class="n"&gt;user_set&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"user_screen_name"&lt;/span&gt;&lt;span class="p"&gt;]][&lt;/span&gt;&lt;span class="s2"&gt;"total_tweets"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

        &lt;span class="c1"&gt;#if tweet["user_screen_name"] not in unique_users[is_retweet]:&lt;/span&gt;
        &lt;span class="c1"&gt;#   unique_users[is_retweet].append(tweet["user_screen_name"])&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;save_hashtag_metrics&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;hashtags&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;file_name&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="nb"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'./results/metrics_&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s1"&gt;/&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s1"&gt;_hashtags.csv'&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;file_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;file_name&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; 
        &lt;span class="n"&gt;mode&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;'w'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;encoding&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"utf-8"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;newline&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;''&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;file_hashtags&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;writer_hashtags&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;csv&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;writer&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;file_hashtags&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="n"&gt;writer_hashtags&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;writerow&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="s2"&gt;"hashtag"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;"total_normal"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"total_retweet"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
            &lt;span class="s2"&gt;"total"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;"unique_tweeters"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"re_unique_tweeters"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"re_unique_tweeters_filtered"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"total"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;

        &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;hashtag&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;hashtags&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;items&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
            &lt;span class="n"&gt;normal&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;set&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
            &lt;span class="n"&gt;retweet&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;set&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
            &lt;span class="n"&gt;unique&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;retweet&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;normal&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
            &lt;span class="n"&gt;writer_hashtags&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;writerow&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="n"&gt;hashtag&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;normal&lt;/span&gt;&lt;span class="p"&gt;)),&lt;/span&gt; 
                &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;retweet&lt;/span&gt;&lt;span class="p"&gt;)),&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;unique&lt;/span&gt;&lt;span class="p"&gt;)),&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;normal&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;unique&lt;/span&gt;&lt;span class="p"&gt;))])&lt;/span&gt;
    &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"Finished. Saved to ./results/metrics_&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s2"&gt;/&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s2"&gt;_hashtags.csv"&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;file_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;file_name&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;save_date_metrics&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;date_set&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;file_name&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="nb"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'./results/metrics_&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s1"&gt;/&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s1"&gt;_date.csv'&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;file_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;file_name&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; 
        &lt;span class="n"&gt;mode&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;'w'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;encoding&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"utf-8"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;newline&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;''&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;file_date&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;writer_date&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;csv&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;writer&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;file_date&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="n"&gt;writer_date&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;writerow&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="s2"&gt;"date"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;"total_normal"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"total_retweet"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"total_tweets"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;"unique_normal_tweeters"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="s2"&gt;"unique_retweeters_exist"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"unique_retweeters_filtered"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"unique_retweeters_total"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
            &lt;span class="s2"&gt;"total_tweeters"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;

        &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;date&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;date_set&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;items&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
            &lt;span class="c1"&gt;#unique_users[is_retweet]&lt;/span&gt;

            &lt;span class="n"&gt;normal&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;set&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
            &lt;span class="n"&gt;retweet&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;set&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
            &lt;span class="n"&gt;unique&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;retweet&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;normal&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
            &lt;span class="n"&gt;writer_date&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;writerow&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="n"&gt;date&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; 
                &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;normal&lt;/span&gt;&lt;span class="p"&gt;)),&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;retweet&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;unique&lt;/span&gt;&lt;span class="p"&gt;)),&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;unique&lt;/span&gt;&lt;span class="p"&gt;)),&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;retweet&lt;/span&gt;&lt;span class="p"&gt;)),&lt;/span&gt; 
                &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;normal&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;unique&lt;/span&gt;&lt;span class="p"&gt;))])&lt;/span&gt;

    &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"Finished. Saved to ./results/metrics_&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s2"&gt;/&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s2"&gt;_date.csv"&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;file_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;file_name&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;save_time_metrics&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;time_set&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;file_name&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="nb"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'./results/metrics_&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s1"&gt;/&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s1"&gt;_time.csv'&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;file_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;file_name&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; 
        &lt;span class="n"&gt;mode&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;'w'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;encoding&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"utf-8"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;newline&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;''&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;file_time&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;writer_time&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;csv&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;writer&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;file_time&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="n"&gt;writer_time&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;writerow&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="s2"&gt;"time"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;"total_normal"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"total_retweet"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"total_tweets"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;"unique_tweeters"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
            &lt;span class="s2"&gt;"re_unique_tweeters"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"re_unique_tweeters_filtered"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"total_tweeters"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;

        &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;hour&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;time_set&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;items&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
            &lt;span class="n"&gt;normal&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;set&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
            &lt;span class="n"&gt;retweet&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;set&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
            &lt;span class="n"&gt;unique&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;retweet&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;normal&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
            &lt;span class="n"&gt;writer_time&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;writerow&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="n"&gt;hour&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; 
                &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;normal&lt;/span&gt;&lt;span class="p"&gt;)),&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;retweet&lt;/span&gt;&lt;span class="p"&gt;)),&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;unique&lt;/span&gt;&lt;span class="p"&gt;)),&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;normal&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;retweet&lt;/span&gt;&lt;span class="p"&gt;))])&lt;/span&gt;
    &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"Finished. Saved to ./results/metrics_&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s2"&gt;/&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s2"&gt;_time.csv"&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;file_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;file_name&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;save_user_metrics&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;user_set&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;file_name&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="nb"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'./results/metrics_&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s1"&gt;/&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s1"&gt;_users.csv'&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;file_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;file_name&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; 
        &lt;span class="n"&gt;mode&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;'w'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;encoding&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"utf-8"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;newline&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;''&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;file_users&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;writer_users&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;csv&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;writer&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;file_users&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;


        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="s2"&gt;"total_times_retweeted_set"&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nb"&gt;list&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;user_set&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;values&lt;/span&gt;&lt;span class="p"&gt;())[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt;
            &lt;span class="n"&gt;writer_users&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;writerow&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="s2"&gt;"screen_name"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"total_posted_normal"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;"total_posted_retweets"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;"total_posted"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
                &lt;span class="s2"&gt;"user_description"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;"user_following_count"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"user_followers_count"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"user_total_tweets"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
                &lt;span class="s2"&gt;"total_times_retweeted_set"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;"user_created_at"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
            &lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="nb"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'./results/metrics_&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s1"&gt;/&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s1"&gt;_old_retweets.csv'&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;file_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;file_name&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; 
                &lt;span class="n"&gt;mode&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;'r'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;encoding&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"utf-8"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;old_retweets&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                &lt;span class="n"&gt;csv_reader&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;csv&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;DictReader&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;old_retweets&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
                &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;tweet&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;csv_reader&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"user_screen_name"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;user_set&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                        &lt;span class="n"&gt;user_set&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"user_screen_name"&lt;/span&gt;&lt;span class="p"&gt;]][&lt;/span&gt;&lt;span class="s2"&gt;"total_times_retweeted_set"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="nb"&gt;int&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"retweet_count"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
        &lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="n"&gt;writer_users&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;writerow&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="s2"&gt;"screen_name"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"total_posted_normal"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;"total_posted_retweets"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;"total_posted"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
                &lt;span class="s2"&gt;"user_description"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;"user_following_count"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"user_followers_count"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"user_total_tweets"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;"user_created_at"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;

        &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;user_set&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="n"&gt;user&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;user_set&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
            &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="s2"&gt;"total_times_retweeted_set"&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                &lt;span class="n"&gt;writer_users&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;writerow&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"screen_name"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"total_in_data_set"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"total_in_data_set"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; 
                    &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"total_in_data_set"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"total_in_data_set"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]),&lt;/span&gt; &lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"description"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
                    &lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"following_count"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"followers_count"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"total_tweets"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"created_at"&lt;/span&gt;&lt;span class="p"&gt;]])&lt;/span&gt;
            &lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                &lt;span class="n"&gt;writer_users&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;writerow&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"screen_name"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"total_in_data_set"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"total_in_data_set"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; 
                    &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"total_in_data_set"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"total_in_data_set"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]),&lt;/span&gt; &lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"description"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
                    &lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"following_count"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"followers_count"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"total_tweets"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
                    &lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"total_times_retweeted_set"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"created_at"&lt;/span&gt;&lt;span class="p"&gt;]])&lt;/span&gt;

    &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"Finished. Saved to ./results/metrics_&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s2"&gt;/&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s2"&gt;_users.csv"&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;file_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;file_name&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="vm"&gt;__name__&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s1"&gt;'__main__'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="c1"&gt;#pass in the target filename without "json" as argument in command prompt.&lt;/span&gt;
    &lt;span class="n"&gt;parse_tweets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sys&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;argv&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;h3 id="spreadsheet-graphs"&gt;&lt;a class="toclink" href="#spreadsheet-graphs"&gt;Spreadsheet Graphs&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;This section contains some graphs we might create upon importing the metric CSV files, generated with the script above, into a spreadsheet application.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-5" id="fnref-5" rel="footnote"&gt;6&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;div class="admonition note"&gt;
&lt;p class="admonition-title"&gt;Note&lt;/p&gt;
&lt;p&gt;The content of the Tweets and the description of the users remain as-is, including newlines, URLs, hashtags and emojis. Older versions of MS Excel, in particular, might have trouble correctly importing CSVs because of that. If using an older version of Excel is a must and importing the CSV results in faulty data, the best option would be to use OpenRefine to export the CSV as a valid Excel file (make sure that UTF-8 is selected for character encoding and that the radio button indicating columns are separated by commas is checked). Moreover, ensure that the Tweet ID columns are set to text rather than int64, in order to prevent Excel from cutting of digits in its conversion.&lt;/p&gt;
&lt;/div&gt;
&lt;h4 id="date-time-frequency"&gt;&lt;a class="toclink" href="#date-time-frequency"&gt;Date &amp;amp; time frequency&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;The time-series graphs below represent changes over time and were made after importing the date frequency and time frequency CSV files in Excel 2019. Both &lt;strong&gt;Figure 2&lt;/strong&gt; (a line chart measuring all occurrences over time) and &lt;strong&gt;figure 3&lt;/strong&gt; (a stacked area chart showcasing the total amount of tweets of a daily timespan split in original tweets and retweets) reveal a strong peak in retweets on the 13 &lt;sup&gt;th&lt;/sup&gt; of May. This spike obscures the visual effectiveness of the rest our graphs. A solution is thus to split the count of Tweets and retweets over two different horizontal axes (&lt;strong&gt;figure 4&lt;/strong&gt;), or use a 100% stacked bar graph to view the relation between the total tweets and retweets (&lt;strong&gt;figure 5&lt;/strong&gt;).&lt;/p&gt;
&lt;div class="admonition note"&gt;
&lt;p class="admonition-title"&gt;Note&lt;/p&gt;
&lt;p&gt;Data for the first and last day in our set (respectively 04/30/2020 and 05/29/2020) contains data only up to a certain point of that day and has thus been left out of the following graphs.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="slider" style="margin: auto; text-align: center;"&gt;
&lt;div&gt;&lt;img alt="Twitter" class="fborder" src="https://steviepoppe.net/images/twitter/day_graph_analysis_total_users_axis.png" style="margin: auto; max-width: 95% !important;margin-bottom: 10px;width: 883px; height: auto; max-width: 100%;"/&gt;&lt;span&gt;&lt;strong&gt;Figure 1:&lt;/strong&gt; Amount of daily active Twitter users (re)tweeting #旦那ストレス&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;img alt="Twitter" class="fborder" src="https://steviepoppe.net/images/twitter/day_graph_analysis_total.png" style="margin: auto; max-width: 95% !important;margin-bottom: 10px;width: 884px; height: auto; max-width: 100%;"/&gt;&lt;span&gt;&lt;strong&gt;Figure 2:&lt;/strong&gt; Total combined tweets containing #旦那ストレス&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;img alt="Twitter" class="fborder" src="https://steviepoppe.net/images/twitter/day_graph_analysis_total_split.png" style="margin: auto; max-width: 95%!important;margin-bottom: 10px;width: 885px; height: auto; max-width: 100%;"/&gt;&lt;span&gt;&lt;strong&gt;Figure 3:&lt;/strong&gt; Total tweets &amp;amp; retweets Containing #旦那ストレス&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;img alt="Twitter" class="fborder" src="https://steviepoppe.net/images/twitter/day_graph_analysis_total_split_axis.png" style="margin: auto; max-width: 95% !important;margin-bottom: 10px;width: 883px; height: auto; max-width: 100%;"/&gt;&lt;span&gt;&lt;strong&gt;Figure 4:&lt;/strong&gt; Total tweets &amp;amp; retweets Containing #旦那ストレス&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;img alt="Twitter" class="fborder" src="https://steviepoppe.net/images/twitter/day_graph_analysis_stacked_100.png" style="margin: auto; max-width: 95% !important;margin-bottom: 10px;width: 883px; height: auto; max-width: 100%;"/&gt;&lt;span&gt;&lt;strong&gt;Figure 5:&lt;/strong&gt; Tweet/retweet division of combined total containing #旦那ストレス per day&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;In regards to the question of a public sphere and interconnected discourse forming around this hashtag, we might be interested in knowing how many of those retweeters are actually actively writing similar Tweets themselves (and thus engaging with others connected by the hashtag) as well. In that case, we could use a mixed graph with stacked bars for visualizing retweeters in two groups (the right axis) and a line measure for the count original tweeters on the left (&lt;strong&gt;figure 1&lt;/strong&gt;). One immediate takeaway is that only a very small number of retweeters have actually tweeted similar content themselves, suggesting that there might not be much engagement among active tweeters (and thus unlikely to develop into a public or community developed through this hashtag).&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-6" id="fnref-6" rel="footnote"&gt;7&lt;/a&gt;&lt;/sup&gt; From a glance it is furthermore clear that the amount of active tweeters practically doubled during the first couple of days of the extended holiday (golden week) in Japan, with gradual ups and down in activity since. The same goes for retweet activity, with a clear exception present around the period of May 13 (more on that below).&lt;/p&gt;
&lt;p&gt;Using the spreadsheet table overview of our full CSV data as well as spreadsheet pivot functionality helps bring clarity to this trend deviation. The deviation concerns several tweets of one particularly active user with thousands of followers, but with a nevertheless low amount of posts actually being retweeted or replied to. Although the most prominent Tweet (which accuses the husband of intending to hoard the cash handouts each household member would receive in light of the Corona virus) was made prior to the first Tweet in our set, it didn’t get picked up on until late May 12 (with an increase in pace after being retweeted by a prominent Twitter influencer with over 80.000 followers). Subsequent retweets more or less lasted until the early night of May 14.&lt;/p&gt;
&lt;p&gt;Moreover, the follower count of that Twitter user increased fifteen fold between the first and last raw JSON data files we obtained including that user’s Tweets. It should also be noted that although having frequently used both the husband stress and related hashtag &lt;em&gt;#husbanddeathnote&lt;/em&gt; (&lt;em&gt;dan’na desunōto&lt;/em&gt;, #&lt;span lang="ja"&gt;&lt;ruby&gt;&lt;rb&gt;旦那&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;だんな&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;&lt;/span&gt;デスノート) before, the user has since such an increase in attention refrained from using them at all.&lt;/p&gt;
&lt;p&gt;The renewed peak in (original) Tweets and (unique) tweeters shortly after the initial retweet peak of May 13 suggests a brief reinvigorating effect after a period of stagnation. Nevertheless, it is recommended to conduct a closer content analysis (using quantitative and qualitative methods) of the Tweet content to deduce whether those Tweets are indeed signaling an increase in users utilizing the medium to discuss dissatisfaction in regards to their spouses, or are instead meta-conversations on the existence of those hashtags (as is so often the case with viral hashtags).&lt;/p&gt;
&lt;div class="slider" style="margin: auto; text-align: center;"&gt;
&lt;div&gt;&lt;img alt="Twitter" class="fborder" src="https://steviepoppe.net/images/twitter/time_graph_analysis_tweets.png" style="margin: auto; max-width: 95% !important;margin-bottom: 10px;width: 882px; height: auto; max-width: 100%;"/&gt;&lt;span&gt;&lt;strong&gt;Figure 6:&lt;/strong&gt; Total hourly (re)tweets containing #旦那ストレス&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;img alt="Twitter" class="fborder" src="https://steviepoppe.net/images/twitter/time_graph_analysis_tweeters.png" style="margin: auto; max-width: 95%!important;margin-bottom: 10px;width: 880px; height: auto; max-width: 100%;"/&gt;&lt;span&gt;&lt;strong&gt;Figure 7:&lt;/strong&gt; Total hourly (re)tweeters engaging with #旦那ストレス&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Finally, while spreading the tweeting (&lt;strong&gt;figure 6&lt;/strong&gt;) or tweeter (&lt;strong&gt;figure 7&lt;/strong&gt;) rate on an hourly basis might have its benefits for specific use cases, it does not yield particularly surprising results when applied to our dataset. While it is not much of a stretch to assume that the vast majority of tweets in our dataset are posted by mothers&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-7" id="fnref-7" rel="footnote"&gt;8&lt;/a&gt;&lt;/sup&gt; with a particular rigid daily schedule, it is reasonable to believe that the peaks in activity in the late evening, as well as right before and after lunch are common among unrelated Twitter users as well.&lt;/p&gt;
&lt;h4 id="hashtag-frequency"&gt;&lt;a class="toclink" href="#hashtag-frequency"&gt;Hashtag frequency&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;These next graphs are based on the top ten hashtags sorted by frequency of appearance (excluding, of course, the hashtag we have used as the query to collect our data). With the exception of &lt;strong&gt;figure 10&lt;/strong&gt; (which counts based on the total amount of unique Twitter users rather than total tweets) as demonstration of marginally different results, all are sorted by total combined (re)tweets. &lt;strong&gt;Figure 8&lt;/strong&gt; is an English translation of &lt;strong&gt;Figure 9&lt;/strong&gt;, and &lt;strong&gt;Figure 11&lt;/strong&gt; juxtaposes the amount of tweeters and retweeters with the total amount of tweets and retweets per hashtag. It should be noted that these statistics are based on the individual occurrence of each hashtag and thus does not keep in mind the overlap of multiple such hashtags in one particular tweet (some tweets consisted of nothing more than several hashtags and an annexed image).&lt;/p&gt;
&lt;p&gt;The majority of the hashtags are idle complaints targeting the spouse with various levels of playfulness. The highest ranking hashtag, &lt;em&gt;#husbanddeathnote&lt;/em&gt; (&lt;em&gt;dan’na desunōto&lt;/em&gt;, #&lt;span lang="ja"&gt;&lt;ruby&gt;&lt;rb&gt;旦那&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;だんな&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;&lt;/span&gt;デスノート), for example, refers to a popular 2000’s manga, anime and live action series (Death Note) and in particular to its eponymous notebook, which results in the death of every person whose name is penned down. The concept has since been juxtaposed with various demographics as an expression of anger or frustration. A google search suggests that this hashtag predates our targeted hashtag #&lt;span lang="ja"&gt;&lt;ruby&gt;&lt;rb&gt;旦那&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;だんな&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;&lt;/span&gt;ストレス, with media attention dating all the way back to around 2017. Furthermore, the top result links to an anonymous bulletin board &lt;strong&gt;danna-shine.com&lt;/strong&gt; (a transliteration of #&lt;span lang="ja"&gt;&lt;ruby&gt;&lt;rb&gt;旦那死&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;だんなし&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;&lt;/span&gt;ね, &lt;em&gt;husband, die!&lt;/em&gt;). A brief visit to that website reveals that it is, perhaps unsurprisingly, intended for posting anonymous complaints,&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-8" id="fnref-8" rel="footnote"&gt;9&lt;/a&gt;&lt;/sup&gt; claims to have over 180.000 monthly users and makes a visual reference to Twitter and that specific death note hashtag in its banner.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-9" id="fnref-9" rel="footnote"&gt;10&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;div class="slider" style="margin: auto; text-align: center;"&gt;
&lt;div&gt;&lt;img alt="Twitter" class="fborder" src="https://steviepoppe.net/images/twitter/hashtags_freq_eng.png" style="margin: auto; max-width: 95%!important; margin-bottom: 10px;width: 1005px; height: auto; max-width: 100%;"/&gt;&lt;span&gt;&lt;strong&gt;Figure 8:&lt;/strong&gt; Top 10 used hashtags sorted by combined total (re)tweets containing #旦那ストレス (English translation)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;img alt="Twitter" class="fborder" src="https://steviepoppe.net/images/twitter/hashtags_freq_total.png" style="margin: auto; max-width: 95%!important;margin-bottom: 10px;width: 1012px; height: auto; max-width: 100%;"/&gt;&lt;span&gt;&lt;strong&gt;Figure 9:&lt;/strong&gt; Top 10 used hashtags sorted by combined total (re)tweets containing #旦那ストレス&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;img alt="Twitter" class="fborder" src="https://steviepoppe.net/images/twitter/hashtags_freq_tweets.png" style="margin: auto; max-width: 95% !important;margin-bottom: 10px;width: 1011px; height: auto; max-width: 100%;"/&gt;&lt;span&gt;&lt;strong&gt;Figure 10:&lt;/strong&gt; Top 10 used hashtags sorted by original tweets containing #旦那ストレス&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;img alt="Twitter" class="fborder" src="https://steviepoppe.net/images/twitter/hashtags_freq_tweet_tweeters.png" style="margin: auto; max-width: 95% !important;margin-bottom: 10px;width: 874px; height: auto; max-width: 100%;"/&gt;&lt;span&gt;&lt;strong&gt;Figure 11:&lt;/strong&gt; Top 10 used hashtags original tweets containing #旦那ストレス&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Other noteworthy hashtags are “&lt;em&gt;#coronadivorce&lt;/em&gt;” (&lt;em&gt;Korona rikon&lt;/em&gt;, #コロナ&lt;span lang="ja"&gt;&lt;ruby&gt;&lt;rb&gt;離婚&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;りこん&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;&lt;/span&gt;), “&lt;em&gt;#emotionallyabusivehusband&lt;/em&gt;” (&lt;em&gt;morahara otto&lt;/em&gt;, モラハラ&lt;span lang="ja"&gt;&lt;ruby&gt;&lt;rb&gt;夫&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;おっと&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;&lt;/span&gt;) and “#mother-in-lawstress” (&lt;em&gt;gibo sutoresu&lt;/em&gt;, #&lt;span lang="ja"&gt;&lt;ruby&gt;&lt;rb&gt;義母&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;ぎぼ&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;&lt;/span&gt;ストレス). The first, of course, refers to the greater discourse in which we situate this study, although actual references to the threat of divorce appear to be relatively low in our sample. The second refers to &lt;em&gt;morahara&lt;/em&gt; (モラハラ, an abbreviation of the pseudo-Anglican Japanese term moral harassment), indicating a sociological concept of emotional and psychological abusive behavior through means of gas-lighting and humiliation. The last hashtag, “&lt;em&gt;#mother-in-law stress&lt;/em&gt;”, then, is exceptional in that it is not just the only hashtag in our top ten not explicitly connected to the spouse, it is also the only one that has a disproportionate amount of retweets and retweeters.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-10" id="fnref-10" rel="footnote"&gt;11&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;h4 id="user-data"&gt;&lt;a class="toclink" href="#user-data"&gt;User Data&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;Based on the generated user data CSV, we might use pivot functionality to build graphs visualizing the relation between things such as date of user registration and tweets.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Figure 13&lt;/strong&gt;, for example, visualizes users, with at least one actively tweeted message containing #&lt;span lang="ja"&gt;&lt;ruby&gt;&lt;rb&gt;旦那&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;だんな&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;&lt;/span&gt;ストレス, in a &lt;em&gt;pie of pie&lt;/em&gt; chart on a yearly basis, demonstrating that 41% of such users were created in 2020. &lt;strong&gt;Figure 15&lt;/strong&gt; further divides the period of 2018 to May 2020 by month, illustrating again that there is indeed a fairly consistent monthly increase since late 2019 in registered accounts utilizing Twitter to display marital problems.&lt;/p&gt;
&lt;p&gt;Based on those graphs, we can thus conclude that the majority of the Twitter users actively posting tweets containing this hashtag registered their account on Twitter extremely recently, most likely as a second, private account (often referred to as ura’aka, #&lt;span lang="ja"&gt;&lt;ruby&gt;&lt;rb&gt;裏垢&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;うらあか&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;&lt;/span&gt;) created specifically for this purpose. In comparison then, &lt;strong&gt;figure 14&lt;/strong&gt; suggest that there is less of a psychological barrier for Twitter users to retweet such content on existing accounts; a retweet might insinuate sympathy towards the original tweeter and/or personal engagement with the topic at hand, but enough distance remains to not be used negatively towards those retweeters. The fact that the green line (representing the total amount of Twitter users in our dataset) is almost consistent with the combine value of the stacked bars (total tweet &amp;amp; retweet posters) further demonstrates that there is a very low tendency for users to both actively tweet content with this hashtag and simultaneously retweet the content of others.&lt;/p&gt;
&lt;p&gt;Taking a different angle to demonstrate the same thing, &lt;strong&gt;Figure 12&lt;/strong&gt; displays the amount of (re)tweets posted on a yearly basis both separate and as running total. Again, this graph suggest that there is not anything particularly outstanding concerning the registration date for users retweeting such content, while simultaneously showing that the most actively tweeting accounts have all been created very recently.&lt;/p&gt;
&lt;div class="slider" style="margin: auto; text-align: center;"&gt;
&lt;div&gt;&lt;img alt="Twitter" class="fborder" src="https://steviepoppe.net/images/twitter/users_year_tweets.png" style="margin: auto; max-width: 95%!important; margin-bottom: 10px;width: 952px; height: auto; max-width: 100%;"/&gt;&lt;span&gt;&lt;strong&gt;Figure 12:&lt;/strong&gt; (Cumulative) totals of (re)tweets containing #旦那ストレス spread over date of account creation by year&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;img alt="Twitter" class="fborder" src="https://steviepoppe.net/images/twitter/users_year_creation.png" style="margin: auto; max-width: 95%!important; margin-bottom: 10px;width: 723px; height: auto; max-width: 100%;"/&gt;&lt;span&gt;&lt;strong&gt;Figure 13:&lt;/strong&gt; Year of creation of Twitter users in our dataset having posted more than one post containing #旦那ストレス&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;img alt="Twitter" class="fborder" src="https://steviepoppe.net/images/twitter/users_year_combined.png" style="margin: auto; max-width: 95%!important; margin-bottom: 10px;width: 722px; height: auto; max-width: 100%;"/&gt;&lt;span&gt;&lt;strong&gt;Figure 14:&lt;/strong&gt; Twitter users engaging with #旦那ストレス, sorted by account year of creation&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;img alt="Twitter" class="fborder" src="https://steviepoppe.net/images/twitter/users_year_creation_months.png" style="margin: auto; max-width: 95%!important; margin-bottom: 10px;width: 881px; height: auto; max-width: 100%;"/&gt;&lt;span&gt;&lt;strong&gt;Figure 15:&lt;/strong&gt; Registered accounts with active #旦那ストレス usage per month (2018 - 2020) &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;img alt="Twitter" class="fborder" src="https://steviepoppe.net/images/twitter/users_sorted_original.png" style="margin: auto; max-width: 95%!important; margin-bottom: 10px;width: 883px; height: auto; max-width: 100%;"/&gt;&lt;span&gt;&lt;strong&gt;Figure 16:&lt;/strong&gt; Twitter users sorted by amount of original tweets containing #旦那ストレス &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;img alt="Twitter" class="fborder" src="https://steviepoppe.net/images/twitter/users_sorted.png" style="margin: auto; max-width: 95%!important; margin-bottom: 10px;width: 886px; height: auto; max-width: 100%;"/&gt;&lt;span&gt;&lt;strong&gt;Figure 16:&lt;/strong&gt; Twitter users posting original tweets containing #旦那ストレス, sorted by followers and following count &lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Finally, the two ugliest graph on this blog (&lt;strong&gt;figure 16&lt;/strong&gt; and &lt;strong&gt;figure 17&lt;/strong&gt;) reveal more about the level of engagement of Twitter users actively posting themselves, as well as the possible reach and/or attempts to interconnect with others based on the amount of followers and ‘friends’ (i.e. their following count). About half of those users have tweeted content with the #&lt;span lang="ja"&gt;&lt;ruby&gt;&lt;rb&gt;旦那&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;だんな&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;&lt;/span&gt;ストレス hashtag on a repeated basis within the timespan of our dataset and are thus likely to have a particular strong investment in the topic. It is not unlikely that there are those, among the other half of those users, who have no personal investment but rather feel some curiosity towards the actual hashtag and the discourse it itself represents.&lt;/p&gt;
&lt;p&gt;One such Twitter account, for example, has over 300.000 followers. By sorting the users table by followers, this was revealed to be the public account of Shinya Arino, a famous Japanese comedian who might have possibly come into contact after a particular tweet mentioned earlier went relatively viral on the 13&lt;sup&gt;th&lt;/sup&gt; of May. By cross-referencing our full CSV table with this name, the content and date of creation of Shinya’s tweet was easily revealed: 「このハッシュタグは　#&lt;span lang="ja"&gt;&lt;ruby&gt;&lt;rb&gt;勉強&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;べんきょう&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;&lt;/span&gt;になる #&lt;span lang="ja"&gt;&lt;ruby&gt;&lt;rb&gt;旦那&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;だんな&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;&lt;/span&gt;ストレス」 (Kono hasshu tagu wa benkyō ni naru, Eng. “This hashtag is illuminating”), posted on 18 May, 2020. It is difficult to gouge what impact this ‘endorsement’ by a public media figure has or if it was perhaps intended mockingly, but at the very least &lt;strong&gt;figure 4&lt;/strong&gt; reveals a stark drop rather than rise in accounts tweeting such messages right after his tweet.&lt;/p&gt;
&lt;hr/&gt;
&lt;h1 id="automation-bringing-everything-together"&gt;&lt;a class="toclink" href="#automation-bringing-everything-together"&gt;Automation: Bringing Everything Together&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;In a research project that requires the collection of Twitter data over a long period of time, it is understandably a drag to manually update the preprocessed data (and its derisive metrics in CSV format) through various separate scripts run from the command line each time new data is to be collected. One method of simplifying those steps is to use a batch script&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-11" id="fnref-11" rel="footnote"&gt;12&lt;/a&gt;&lt;/sup&gt; that automatizes several or even all of the acts we have been doing manually. Upon saving and running the following script, for example, it will iterate through all the unprocessed JSON files with a filename matching the name of the batch file (e.g. &lt;strong&gt;#旦那ストレス.bat&lt;/strong&gt; → all JSON files containing &lt;strong&gt;#旦那ストレス&lt;/strong&gt;) and run them through &lt;strong&gt;python_parse_tweet_ver2.py&lt;/strong&gt; with predefined options such as setting the timezone to “Asia/Tokyo” (keeping the total calculation and check for doubles until the final JSON has been processed). Finally, this batch script will run the preprocessed CSV file through the parsing metric script we have outlined in this article.&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt; 1&lt;/span&gt;
&lt;span class="normal"&gt; 2&lt;/span&gt;
&lt;span class="normal"&gt; 3&lt;/span&gt;
&lt;span class="normal"&gt; 4&lt;/span&gt;
&lt;span class="normal"&gt; 5&lt;/span&gt;
&lt;span class="normal"&gt; 6&lt;/span&gt;
&lt;span class="normal"&gt; 7&lt;/span&gt;
&lt;span class="normal"&gt; 8&lt;/span&gt;
&lt;span class="normal"&gt; 9&lt;/span&gt;
&lt;span class="normal"&gt;10&lt;/span&gt;
&lt;span class="normal"&gt;11&lt;/span&gt;
&lt;span class="normal"&gt;12&lt;/span&gt;
&lt;span class="normal"&gt;13&lt;/span&gt;
&lt;span class="normal"&gt;14&lt;/span&gt;
&lt;span class="normal"&gt;15&lt;/span&gt;
&lt;span class="normal"&gt;16&lt;/span&gt;
&lt;span class="normal"&gt;17&lt;/span&gt;
&lt;span class="normal"&gt;18&lt;/span&gt;
&lt;span class="normal"&gt;19&lt;/span&gt;
&lt;span class="normal"&gt;20&lt;/span&gt;
&lt;span class="normal"&gt;21&lt;/span&gt;
&lt;span class="normal"&gt;22&lt;/span&gt;
&lt;span class="normal"&gt;23&lt;/span&gt;
&lt;span class="normal"&gt;24&lt;/span&gt;
&lt;span class="normal"&gt;25&lt;/span&gt;
&lt;span class="normal"&gt;26&lt;/span&gt;
&lt;span class="normal"&gt;27&lt;/span&gt;
&lt;span class="normal"&gt;28&lt;/span&gt;
&lt;span class="normal"&gt;29&lt;/span&gt;
&lt;span class="normal"&gt;30&lt;/span&gt;
&lt;span class="normal"&gt;31&lt;/span&gt;
&lt;span class="normal"&gt;32&lt;/span&gt;
&lt;span class="normal"&gt;33&lt;/span&gt;
&lt;span class="normal"&gt;34&lt;/span&gt;
&lt;span class="normal"&gt;35&lt;/span&gt;
&lt;span class="normal"&gt;36&lt;/span&gt;
&lt;span class="normal"&gt;37&lt;/span&gt;
&lt;span class="normal"&gt;38&lt;/span&gt;
&lt;span class="normal"&gt;39&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;@echo off

:: Necessary &lt;span class="k"&gt;for&lt;/span&gt; Unicode support
chcp &lt;span class="m"&gt;65001&lt;/span&gt; &amp;gt;NUL

&lt;span class="nb"&gt;cd&lt;/span&gt; /d C:&lt;span class="se"&gt;\p&lt;/span&gt;ython&lt;span class="se"&gt;\&lt;/span&gt;

&lt;span class="nb"&gt;set&lt;/span&gt; &lt;span class="nv"&gt;safe_csv&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;%~n0
&lt;span class="nb"&gt;set&lt;/span&gt; &lt;span class="nv"&gt;time_zone&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;Asia/Tokyo
&lt;span class="nb"&gt;set&lt;/span&gt; &lt;span class="nv"&gt;include_retweets&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"True"&lt;/span&gt;
&lt;span class="nb"&gt;set&lt;/span&gt; &lt;span class="nv"&gt;add_totals&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"True"&lt;/span&gt;
&lt;span class="nb"&gt;set&lt;/span&gt; &lt;span class="nv"&gt;double_check&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"True"&lt;/span&gt;
&lt;span class="nb"&gt;set&lt;/span&gt; &lt;span class="nv"&gt;query&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;%~n0
&lt;span class="nb"&gt;set&lt;/span&gt; &lt;span class="nv"&gt;since_id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"None"&lt;/span&gt;

:: Count total amount of files
&lt;span class="k"&gt;for&lt;/span&gt; /f %%A &lt;span class="k"&gt;in&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'dir /A:-D /B .\results\*%query%*.json ^| find /v /c ""'&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt; &lt;span class="nb"&gt;set&lt;/span&gt; &lt;span class="nv"&gt;total&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;%%A

:: Necessary to count &lt;span class="k"&gt;in&lt;/span&gt; loop
setlocal enabledelayedexpansion
&lt;span class="nb"&gt;set&lt;/span&gt; &lt;span class="nv"&gt;count&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;

&lt;span class="k"&gt;for&lt;/span&gt; %%a &lt;span class="k"&gt;in&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;results/*%query%*.json&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;
    :: Create CSV of all relevant query JSON
    &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"Pre-processing: %%a"&lt;/span&gt;
    &lt;span class="nb"&gt;set&lt;/span&gt; /a &lt;span class="nv"&gt;count&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;
    IF !count!&lt;span class="o"&gt;==&lt;/span&gt;%total% &lt;span class="o"&gt;(&lt;/span&gt;
            py python_parse_tweet_ver2.py %%~na %time_zone% %include_retweets% %safe_csv% %add_totals% %double_check%
    &lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;
    py python_parse_tweet_ver2.py %%~na %time_zone% %include_retweets% %safe_csv%
    &lt;span class="o"&gt;)&lt;/span&gt;
&lt;span class="o"&gt;)&lt;/span&gt;
endlocal

:: Create metrics CSV files
&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"Calculating metrics..."&lt;/span&gt;
py python_metrics.py %safe_csv%

PAUSE
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;This script could be further edited to begin by first datamining new JSON data with any of the API scripts provided earlier, potentially using the Windows Registry to keep track op the &lt;code&gt;since_id&lt;/code&gt; variable. If desired, we might also schedule this script to run periodically using the Windows schedule manager (e.g. to run the Search API script and its preprocessing and parsing scripts on a weekly basis, or even on a daily basis if daily updated statistics on account information, such as follower and following count, is preferred).&lt;/p&gt;
&lt;p&gt;If we are using spreadsheet software that maintains a connection with the CSV data sources for its tables and graphs, updating our graphs to reflect those changes is a matter of pressing a single update button (such as the Data → Refresh All button in MS Excel 2019).&lt;/p&gt;
&lt;hr/&gt;
&lt;h1 id="legal-and-ethical-caveats"&gt;&lt;a class="toclink" href="#legal-and-ethical-caveats"&gt;Legal and Ethical Caveats&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Having glanced over both the above tutorial and the provided graphs or data, the reader might have (with one exception) noticed a lack of direct references to concrete Tweets or users. Japanese Tweet content has either been translated to English without supplying any identification, or visualized through calculated metrics. Moreover, this series does not provide access to the original JSON files or to the preprocessed CSV files. This is done deliberately both according to Twitter API’s terms of service (which prohibits sharing raw, unprocessed Tweet data) and, from an ethical standpoint, to protect the identity of its users (regardless of the public accessibility of those users’ Tweets and the levels of anonymity their accounts provide). One jarring exception this article made is the explicit reference to Shinya Arino, a public figure who is using Twitter with the explicit purpose of reaching a large public. Verbatim quoting his tweet, then, was done purposefully to illustrate the ethical line one must thread when revealing personal information of social media users.&lt;/p&gt;
&lt;p&gt;Traditionally, informed consent, anonymity and confidentiality are crucial elements of research involving public opinion of private individuals. For over a decade, social media platforms has been providing (budding) researchers the opportunity to engage with an unprecedented amount of data representing public opinion, creating somewhat of a gray zone within academic research concerning the above elements. From a legal perspective, Twitter’s Privacy Policy does indeed inform its users that all public data could be used for the purpose of academic research. Yet, as Fiesler and Proferes (2018)&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-12" id="fnref-12" rel="footnote"&gt;13&lt;/a&gt;&lt;/sup&gt; rightly point out, social media users are often not aware of the extent their content on those platforms can be used. Instead, Fiesler and Proferes highlight several prominent examples of scandals or public outrage in regards to publications that have used such data, even if they did not break any legal boundaries.&lt;/p&gt;
&lt;p&gt;One could argue that this ethical boundary is highly individual. Data on platforms such as Twitter is explicitly open, more so when containing hashtags whose prime function is to reach a wider audience.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-13" id="fnref-13" rel="footnote"&gt;14&lt;/a&gt;&lt;/sup&gt; Moreover, websites such as Buzzfeed have financially thrived on using tweets from private individuals for comical effect. In an era of meme-dominated pop culture, it is furthermore extremely common to find memefied tweets spreading across other media platforms.&lt;/p&gt;
&lt;p&gt;Especially in light of the recent Cambridge Analytica scandal, however, utter care must be taken that no risks befalls any individual whose social media content is part of one’s research data; especially when dealing with sensitive topics such as the one highlighted in this article. Generating quantitative data that does not pinpoint individual content (such as the statistics provided in this article, and text analytics such as frequency tables, sentiment analysis, etc) is but one specific part of social media-based research, and often goes hand in hand with qualitative readings of certain content. What if I published a paper on this topic that would later be cited by a major Japanese news outlet? If I had referenced a particular tweet by a user who had afterwards revealed personal information, could it not potentially endanger that Twitter user? This is of course highly unlikely, but nevertheless not impossible and something that should be kept in mind when taking a research angle dealing with such data.&lt;/p&gt;
&lt;p&gt;Although Woodfield (2017, ch.4)&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-14" id="fnref-14" rel="footnote"&gt;15&lt;/a&gt;&lt;/sup&gt; refers to a research project that took a similar stance as I did concerning the masking of individual user names and paraphrasing rather than quoting tweet content, Woodfield has also referred to another research project in which researchers retrospectively searched informed content of each Twitter account whose tweet content they would individually use in their publications. This might seem excessive, and on a purely legal basis not even required, but even in the case of a graduate thesis rather than a PhD thesis or academic publication, it is at the very least not unwise to contact the board of ethics of one’s university for clarity on how to best deal with data obtained from social media from an ethical point of view.&lt;/p&gt;
&lt;hr/&gt;
&lt;h1 id="wait-there-is-more"&gt;&lt;a class="toclink" href="#wait-there-is-more"&gt;Wait! There is more!&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Some of the graph examples and analyses in this article might appear overly excessive, especially when keeping in mind the limited scope of the highly specific hashtag analyzed.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-15" id="fnref-15" rel="footnote"&gt;16&lt;/a&gt;&lt;/sup&gt; Nevertheless, it is my hope that those graphs served some purpose in illustrating how social network analysis and the methods outlined in this article might fit in research topics covering contemporary issues and public opinion expressed online.&lt;/p&gt;
&lt;p&gt;Throughout the next entries in our blog series, we will dive further into actual textual analysis of Japanese corpora. In the third blog, we will look into the Japanese computational linguistics tool KH Coder, the morphological parser MeCab and its extensions, as well as the various options they offer us in our quantitative text analysis. The fourth blog will expand on the script provided in this article, including options for animating changes over an arbitrary timespan.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://steviepoppe.net/blog/2020/04/a-quick-guide-to-data-mining-textual-analysis-of-japanese-twitter/"&gt;A &lt;del&gt;Quick&lt;/del&gt; Guide to Data-mining &amp;amp; (Textual) Analysis of (Japanese) Twitter Part 1: Twitter Data Collection&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://steviepoppe.net/blog/2020/06/a-quick-guide-to-data-mining-textual-analysis-of-japanese-twitter-part-3/"&gt;A &lt;del&gt;Quick&lt;/del&gt; Guide to Data-mining &amp;amp; (Textual) Analysis of (Japanese) Twitter Part 3: Natural Language Processing With MeCab, Neologd and KH Coder&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://steviepoppe.net/blog/2020/07/a-quick-guide-to-data-mining-textual-analysis-of-japanese-twitter-part-4/"&gt;A &lt;del&gt;Quick&lt;/del&gt; Guide to Data-mining &amp;amp; (Textual) Analysis of (Japanese) Twitter Part 4: Natural Language Processing With MeCab, Neologd and NLTK&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#"&gt;A &lt;del&gt;Quick&lt;/del&gt; Guide to Data-mining &amp;amp; (Textual) Analysis of (Japanese) Twitter Part 5: Advanced Metrics &amp;amp; Graphs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;On a final note, it is my aim to write tutorials like these in such a way that they provide enough detail and (technical) information on the applied methodology to be useful in extended contexts, while still being accessible to less IT-savvy students. If anything is unclear, however, please do not hesitate to leave questions in the comment section below. &lt;i class="icon-hand-down"&gt;&lt;/i&gt;&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr/&gt;
&lt;ol&gt;
&lt;li id="fn-footnote"&gt;
&lt;p&gt;Still image from the 2012 Japanese animated film Wolf Children by Mamoru Hosoda, used under a Fair Use doctrine. &lt;a class="footnote-backref" href="#fnref-footnote" title="Jump back to footnote 1 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-1"&gt;
&lt;p&gt;The Coordinated Universal Time (UTC) time standard; a universal standard &lt;a href="https://www.timeanddate.com/time/gmt-utc-time.html"&gt;similar&lt;/a&gt; to the Greenwich Mean Time (GMT) timezone. &lt;a class="footnote-backref" href="#fnref-1" title="Jump back to footnote 2 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-2"&gt;
&lt;p&gt;Although the original JSON tweet objects contain a &lt;code&gt;retweet_count&lt;/code&gt; variable, this contains all the retweets of that post from its conception up to the point we first acquired it in our dataset. This is not sufficient for long term data mining projects. Unfortunately it’s quite taxing to calculate replies the same way, and the Twitter &lt;code&gt;reply_count&lt;/code&gt; variable is only available to Premium and Enterprise Twitter API services. &lt;a class="footnote-backref" href="#fnref-2" title="Jump back to footnote 3 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-3"&gt;
&lt;p&gt;It’s important to check on tweet ID doubles rather than on unique rows because secondary data such as follower and following count of the user might have changed by the time we have obtained new data with some duplications. In other words, even if the Tweet itself is a duplication, the row in our CSV file wouldn’t be counted as such. &lt;a class="footnote-backref" href="#fnref-3" title="Jump back to footnote 4 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-4"&gt;
&lt;p&gt;While functional and rigidly tested through various use-cases, this script is far from optimized and not very &lt;em&gt;pythonic&lt;/em&gt;. I will rewrite this in due time, using in particular the python package &lt;strong&gt;pandas&lt;/strong&gt;. &lt;a class="footnote-backref" href="#fnref-4" title="Jump back to footnote 5 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-5"&gt;
&lt;p&gt;It should be noted that some of the data we calculate by means of python could fairly easily have been derived from the base, preprocessed CSV file using pivot tables. About half of the data couldn’t, however, and centralizing everything in one script was a deliberate choice. &lt;a class="footnote-backref" href="#fnref-5" title="Jump back to footnote 6 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-6"&gt;
&lt;p&gt;Another option to gouge this is by viewing overlap of followers and followings of the most active users (network analysis) over a certain timespan, which is what we will be doing in a next blog entry. &lt;a class="footnote-backref" href="#fnref-6" title="Jump back to footnote 7 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-7"&gt;
&lt;p&gt;A glance over the description of all tweeters seems to suggest so (with language and emojis indicating one’s social identity as a mother or raising children), and could be further confirmed by textual analysis. &lt;a class="footnote-backref" href="#fnref-7" title="Jump back to footnote 8 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-8"&gt;
&lt;p&gt;Or to be exact, death wishes. 💀 The slogan furthermore refers to the corona virus, demanding the spouse to get infected as fast as possible. &lt;a class="footnote-backref" href="#fnref-8" title="Jump back to footnote 9 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-9"&gt;
&lt;p&gt;Indicating the limited nature of analyzing only one particular social media platform, since various platforms might perform together to form unique eco-systems on which discourse can thrive. &lt;a class="footnote-backref" href="#fnref-9" title="Jump back to footnote 10 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-10"&gt;
&lt;p&gt;The social problem of toxic relations with parents-in-law was furthermore the topic of the bestseller 2016 novel The House on the Slope (&lt;em&gt;Saka no Tochū no Ie&lt;/em&gt;, 『坂の途中の家』) by Mitsuyo Kakuta, and its 2019 live action adaption. Both reinvigorated public interest in contemporary marital issues in Japan and concluded with the possible importance of social media towards empowering women stuck in toxic marriages. &lt;a class="footnote-backref" href="#fnref-10" title="Jump back to footnote 11 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-11"&gt;
&lt;p&gt;Short for computerized batch processing. &lt;a class="footnote-backref" href="#fnref-11" title="Jump back to footnote 12 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-12"&gt;
&lt;p&gt;&lt;strong&gt;Fiesler, Casey, and Nicholas Proferes&lt;/strong&gt;. 2018. ‘“Participant” Perceptions of Twitter Research Ethics’. Social Media + Society 4 (1): 2056305118763366. &lt;a href="https://doi.org/10.1177/2056305118763366"&gt;https://doi.org/10.1177/2056305118763366&lt;/a&gt;. &lt;a class="footnote-backref" href="#fnref-12" title="Jump back to footnote 13 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-13"&gt;
&lt;p&gt;Even though its usage might often be for aesthetic or comic purposes. &lt;a class="footnote-backref" href="#fnref-13" title="Jump back to footnote 14 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-14"&gt;
&lt;p&gt;&lt;strong&gt;Woodfield, Kandy&lt;/strong&gt;. 2017. The Ethics of Online Research. Emerald Group Publishing. &lt;a class="footnote-backref" href="#fnref-14" title="Jump back to footnote 15 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-15"&gt;
&lt;p&gt;Not withstanding the greater social relevance of the topic that encompasses this hashtag, either. &lt;a class="footnote-backref" href="#fnref-15" title="Jump back to footnote 16 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="Studies"></category><category term="Big Data"></category><category term="Digital Humanities"></category><category term="Japanese"></category><category term="Python"></category><category term="Tutorial"></category><category term="Twitter"></category></entry><entry><title>A Quick Guide to Data-mining &amp; (Textual) Analysis of (Japanese) Twitter Part 1: Twitter Data Collection</title><link href="https://steviepoppe.net/blog/2020/04/a-quick-guide-to-data-mining-textual-analysis-of-japanese-twitter/" rel="alternate"></link><published>2020-04-01T00:00:00+02:00</published><updated>2020-04-01T00:00:00+02:00</updated><author><name>Stevie Poppe</name></author><id>tag:steviepoppe.net,2020-04-01:/blog/2020/04/a-quick-guide-to-data-mining-textual-analysis-of-japanese-twitter/</id><summary type="html">
&lt;p&gt;This short series of blogs chronicles the bare-bones required to conduct a basic form of textual analysis on corpora of Japanese tweets. Examples of similar tutorials on the Internet are numerous,&lt;sup&gt;&lt;/sup&gt; but less so are accessible beginner tutorials guiding the reader throughout the processes of:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;setting up the initial technical environment,&lt;/li&gt;
&lt;li&gt;compiling corpora of clean, processed data, and,&lt;/li&gt;
&lt;li&gt;adding a visual, quantitative element to any qualitative reading of that text, by utilization of textual analysis tools &lt;strong&gt;tailored for Japanese content&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;This series is therefore primarily intended for &lt;strong&gt;undergraduate and graduate students&lt;/strong&gt; whose topics of research include contemporary Japan or its online &lt;em&gt;vox populi&lt;/em&gt;, and want to strengthen their existing research (such as an undergraduate thesis or term paper) with a social media-based quantitative angle.&lt;/p&gt;
&lt;p&gt;Keeping in mind that many of those situated in the humanities might experience an initial technical hurdle, this first blog will focus primarily on the &lt;em&gt;how&lt;/em&gt;, rather than on the &lt;em&gt;why&lt;/em&gt; of doing Twitter-based research, by detailing the minimal necessities for getting up and running — supplemented by a brief optional, technical explanation &lt;em&gt;for those who are interested&lt;/em&gt;. With this first blog, the reader will thus concretely:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;i class="icon-check"&gt;&lt;/i&gt; Set up a Twitter Developer account and obtain Twitter credentials,&lt;/li&gt;
&lt;li&gt;&lt;i class="icon-check"&gt;&lt;/i&gt; Set up a Python development environment,&lt;/li&gt;
&lt;li&gt;&lt;i class="icon-check"&gt;&lt;/i&gt; Run tailored Python scripts to build datasets of tweets, based either on keywords or on the tweet history of particular users&lt;/li&gt;
&lt;li&gt;&lt;i class="icon-check"&gt;&lt;/i&gt; Use Python for preprocessing the dataset into a usable corpus.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This first blog assumes that the reader has already chosen a topic or target of analysis for which a form of Social Network Analysis (SNA) or content analysis of Twitter data is well-suited. A more thorough epistemological introduction to the &lt;em&gt;why&lt;/em&gt;, &lt;em&gt;what&lt;/em&gt;, &lt;em&gt;when&lt;/em&gt; and &lt;em&gt;who&lt;/em&gt; of SNA, as well as further recommended reading, will follow in the future. Suffice to say, the technical ease of working with the Twitter APIs, as well as the global-spread use of Twitter (roughly half a billion tweets are sent every single day, with Japanese per capita usage ranking particularly high), offer an excellent introduction to getting acquainted with SNA through practical, real-life examples.&lt;/p&gt;
&lt;h1 id="set-up"&gt;&lt;a class="toclink" href="#set-up"&gt;Set-up&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;It must be emphasized that the field this tutorial roughly falls under, &lt;strong&gt;Digital Humanities&lt;/strong&gt; (DH), is extremely broad; and understanding the various possibilities DH offers, as well as when and how to apply those, have their own intricate challenges. Within the scope of our brief tutorial series, however, the initial technical hurdles …&lt;/p&gt;</summary><content type="html">

&lt;p&gt;This short series of blogs chronicles the bare-bones required to conduct a basic form of textual analysis on corpora of Japanese tweets. Examples of similar tutorials on the Internet are numerous,&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-1" id="fnref-1" rel="footnote"&gt;2&lt;/a&gt;&lt;/sup&gt; but less so are accessible beginner tutorials guiding the reader throughout the processes of:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;setting up the initial technical environment,&lt;/li&gt;
&lt;li&gt;compiling corpora of clean, processed data, and,&lt;/li&gt;
&lt;li&gt;adding a visual, quantitative element to any qualitative reading of that text, by utilization of textual analysis tools &lt;strong&gt;tailored for Japanese content&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;This series is therefore primarily intended for &lt;strong&gt;undergraduate and graduate students&lt;/strong&gt; whose topics of research include contemporary Japan or its online &lt;em&gt;vox populi&lt;/em&gt;, and want to strengthen their existing research (such as an undergraduate thesis or term paper) with a social media-based quantitative angle.&lt;/p&gt;
&lt;p&gt;Keeping in mind that many of those situated in the humanities might experience an initial technical hurdle, this first blog will focus primarily on the &lt;em&gt;how&lt;/em&gt;, rather than on the &lt;em&gt;why&lt;/em&gt; of doing Twitter-based research, by detailing the minimal necessities for getting up and running — supplemented by a brief optional, technical explanation &lt;em&gt;for those who are interested&lt;/em&gt;. With this first blog, the reader will thus concretely:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;i class="icon-check"&gt;&lt;/i&gt; Set up a Twitter Developer account and obtain Twitter credentials,&lt;/li&gt;
&lt;li&gt;&lt;i class="icon-check"&gt;&lt;/i&gt; Set up a Python development environment,&lt;/li&gt;
&lt;li&gt;&lt;i class="icon-check"&gt;&lt;/i&gt; Run tailored Python scripts to build datasets of tweets, based either on keywords or on the tweet history of particular users&lt;/li&gt;
&lt;li&gt;&lt;i class="icon-check"&gt;&lt;/i&gt; Use Python for preprocessing the dataset into a usable corpus.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This first blog assumes that the reader has already chosen a topic or target of analysis for which a form of Social Network Analysis (SNA) or content analysis of Twitter data is well-suited. A more thorough epistemological introduction to the &lt;em&gt;why&lt;/em&gt;, &lt;em&gt;what&lt;/em&gt;, &lt;em&gt;when&lt;/em&gt; and &lt;em&gt;who&lt;/em&gt; of SNA, as well as further recommended reading, will follow in the future. Suffice to say, the technical ease of working with the Twitter APIs, as well as the global-spread use of Twitter (roughly half a billion tweets are sent every single day, with Japanese per capita usage ranking particularly high), offer an excellent introduction to getting acquainted with SNA through practical, real-life examples.&lt;/p&gt;

&lt;h1 id="set-up"&gt;&lt;a class="toclink" href="#set-up"&gt;Set-up&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;It must be emphasized that the field this tutorial roughly falls under, &lt;strong&gt;Digital Humanities&lt;/strong&gt; (DH), is extremely broad; and understanding the various possibilities DH offers, as well as when and how to apply those, have their own intricate challenges. Within the scope of our brief tutorial series, however, the initial technical hurdles of setting up a proper technical environment and just getting scripts running will probably be the most challenging for most readers. The set-up and approach we will be applying throughout this series might seem daunting at first, but as of writing, there is no free alternative with a graphical user interface that offers as much control as doing things manually would.&lt;/p&gt;
&lt;h2 id="twitter-api-credentials"&gt;&lt;a class="toclink" href="#twitter-api-credentials"&gt;Twitter API credentials&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;APIs&lt;/strong&gt; (Application Programming Interfaces) are pieces of code that permit cross-platform and cross-programming language communication between different software. A web-application, a desktop application or a simple script of code (such as the ones in our article) might access an API in order to exchange (retrieve, create, update or delete) information. Mobile versions of Twitter (Android, iOS), for example, are relatively simple applications that might access the Twitter API to &lt;em&gt;get&lt;/em&gt; tweet data from its online servers to display it on-screen, or instead &lt;em&gt;sent&lt;/em&gt; and save a newly written tweet. This kind of interaction between different applications, written in different programming languages, is everywhere: even a simple retweet button on a blog article, or a Buzzfeed news article peppered with a bunch of relevant tweets, rely on those Twitter APIs.&lt;/p&gt;
&lt;p&gt;Like many other large social media platforms such as Facebook and YouTube, Twitter has an extensive list of APIs made available to developers, researchers and market strategists alike. The most extensive ones are limited to expensive Premium and Enterprise editions targeting commercial enterprises, but, while undeniably limited, the free standard APIs and its Terms of Service (ToS) do permit us a certain degree of data accumulation sufficient for our goals.&lt;/p&gt;
&lt;div class="admonition note"&gt;
&lt;p class="admonition-title"&gt;Note&lt;/p&gt;
&lt;p&gt;There are some pitfalls that must be noted in regards to the limitations of the free-to-use Twitter &lt;strong&gt;APIs&lt;/strong&gt;. None of the methods provided below permit the collecting of an exhaustive collection of tweets. Instead, queries will be executed against a sample of the global total amount of (historical) tweets.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-2" id="fnref-2" rel="footnote"&gt;3&lt;/a&gt;&lt;/sup&gt; Therefore, any conclusions drawn based on the amount of tweets per timespan will be estimates rather than absolutes. Moreover, due to the time restraints of the Search API (7 days), ad-hoc research of older phenomena is nearly impossible. Depending on the scope of the search query, the Search API and Timeline API in particular could yield more accurate results than using the Streaming API does, however.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-3" id="fnref-3" rel="footnote"&gt;4&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Before we are able to begin, however, we should first apply for a Twitter developer account and obtain several &lt;strong&gt;credentials&lt;/strong&gt; required to access those Twitter APIs. Open the &lt;a href="https://developer.twitter.com/en/apply"&gt;Twitter developer page&lt;/a&gt; (if you don’t yet have a Twitter account, you will have to create one now) and click on Apply for an account.&lt;/p&gt;
&lt;p&gt;&lt;img alt="twitter1" class="hwimportant fborder fcenter halfwidth" src="https://steviepoppe.net/images/twitter/twitter1.png" title="twitter1"/&gt;&lt;/p&gt;
&lt;p&gt;Throughout the next few screens, select &lt;strong&gt;Doing academic research&lt;/strong&gt; → verify your personal personal information (if you haven’t do so yet, you will likely have to verify your cellphone number) → &lt;strong&gt;describe your intended use&lt;/strong&gt; → review your application → accept the Developer Agreement → click &lt;strong&gt;Submit Application&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img alt="twitter2" class="hwimportant fborder fcenter" src="https://steviepoppe.net/images/twitter/twitter2.png" title="twitter2"/&gt;&lt;/p&gt;
&lt;p&gt;Your application will be judged in-person based on your &lt;strong&gt;Intended Use&lt;/strong&gt; and should be well thought-out. I have written a brief example—&lt;em&gt;for your reference only&lt;/em&gt;—, as to how you might approach this, in the screenshots below.&lt;/p&gt;
&lt;p alt="twitter" class="hwimportant center border"&gt;
&lt;img alt="Twitter" class="fborder" src="https://steviepoppe.net/images/twitter/twitter3.png" style="width: 45% !important;"/&gt;
&lt;img alt="Twitter" class="fborder" src="https://steviepoppe.net/images/twitter/twitter4.png" style="width: 45% !important;"/&gt;
&lt;/p&gt;
&lt;p&gt;Upon receiving a confirmation of approval (an application is usually approved or denied within a matter of hours), head to the &lt;a href="https://developer.twitter.com/en/apps/create"&gt;Apps management screen&lt;/a&gt; → click &lt;strong&gt;Create an app&lt;/strong&gt; and fill in the required information: an ‘app’ name, brief application description, Website URL, and information regarding how your application will be used. Again, something similar to what is written in the screenshot below should be sufficient for your description. Moreover, the field &lt;strong&gt;how it will be used&lt;/strong&gt; can repeat what was written in the previous application (it is not required to wait for further external approval after creating an ‘app’, so this step is less important). Neither is it important to have a personal website; it is fine to substitute this with an URL to your Facebook, LinkedIn or Twitter profile.&lt;/p&gt;
&lt;p&gt;&lt;img alt="twitter5" class="hwimportant fborder fcenter" src="https://steviepoppe.net/images/twitter/twitter5.png" title="twitter5"/&gt;&lt;/p&gt;
&lt;p&gt;Next, click on the &lt;strong&gt;details&lt;/strong&gt; button for the new &lt;em&gt;‘app’&lt;/em&gt; and open the &lt;strong&gt;Key and tokens&lt;/strong&gt; tab. Generate &lt;strong&gt;Consumer API keys&lt;/strong&gt; and &lt;strong&gt;Access token and access token secret keys&lt;/strong&gt;, and note these down in a separate file. They are required to connect to the Twitter API through our Python scripts after we have finished our set-up.&lt;/p&gt;
&lt;h2 id="python"&gt;&lt;a class="toclink" href="#python"&gt;Python&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Although there are plenty of other programming languages with which we might access the Twitter API for similar results (such as Java or Ruby), in this series of blogs we will use the easy-to-read, well-documented scripting language &lt;strong&gt;Python&lt;/strong&gt;. Python (along with the statistical research language R) has, due to its extensive library of third-party modules, become somewhat of a &lt;em&gt;de facto lingua franca&lt;/em&gt; within the (digital) humanities. Within DH, its usage covers anything from data processing, visualization and chore automation to machine learning, Natural Language Processing (NLP) and general linguistic analysis.&lt;/p&gt;
&lt;div class="admonition note"&gt;
&lt;p class="admonition-title"&gt;Note&lt;/p&gt;
&lt;p&gt;It is recommended to follow a brief, optional tutorial.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-4" id="fnref-4" rel="footnote"&gt;5&lt;/a&gt;&lt;/sup&gt; Python is relatively easy to learn and doesn’t require any prior knowledge of programming.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Now head to the &lt;a href="https://www.python.org/downloads/"&gt;Python homepage&lt;/a&gt; and download the latest installer version matching your operating system. Recent installers will already be packaged together with necessary add-ons such as &lt;strong&gt;pip&lt;/strong&gt;, a Python package manager for installing custom packages. Make sure to check the &lt;strong&gt;Add Python 3.x to PATH&lt;/strong&gt; check button before proceeding.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-5" id="fnref-5" rel="footnote"&gt;6&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;Next, open the Windows &lt;strong&gt;command prompt&lt;/strong&gt; (or the Terminal on Mac OS X).&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-6" id="fnref-6" rel="footnote"&gt;7&lt;/a&gt;&lt;/sup&gt; To do so on Windows, press &lt;span class="keys"&gt;&lt;kbd class="key-windows"&gt;Win&lt;/kbd&gt;&lt;span&gt;+&lt;/span&gt;&lt;kbd class="key-r"&gt;R&lt;/kbd&gt;&lt;/span&gt; , enter &lt;strong&gt;cmd&lt;/strong&gt; and press &lt;span class="keys"&gt;&lt;kbd class="key-enter"&gt;Enter&lt;/kbd&gt;&lt;/span&gt;.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-7" id="fnref-7" rel="footnote"&gt;8&lt;/a&gt;&lt;/sup&gt; Now input &lt;code&gt;python&lt;/code&gt; (or its abbreviation &lt;code&gt;py&lt;/code&gt;) and press &lt;span class="keys"&gt;&lt;kbd class="key-enter"&gt;Enter&lt;/kbd&gt;&lt;/span&gt; again. Given that the installation went off without a hitch (and that the python executable was successfully added to your PATH variable), this should open the python interpreter as shown in the screenshot below. Play around a bit and input &lt;code&gt;quit()&lt;/code&gt; to exit the python interpreter environment.&lt;/p&gt;
&lt;p alt="twitter" class="hwimportant center border"&gt;
&lt;img alt="Twitter" class="fborder" src="https://steviepoppe.net/images/twitter/install_python.png" style="width: 45% !important;"/&gt;
&lt;img alt="Twitter" class="fborder" src="https://steviepoppe.net/images/twitter/cmd_python.png" style="width: 45% !important;"/&gt;
&lt;/p&gt;
&lt;p&gt;Finally, we will need to install&lt;strong&gt; &lt;a href="https://steviepoppe.net/blog/2020/04/a-quick-guide-to-data-mining-textual-analysis-of-japanese-twitter/tweepy.org"&gt;tweepy&lt;/a&gt;&lt;/strong&gt;, a Python package required by our example scripts in order to simplify our access to the Twitter APIs. Input &lt;code&gt;pip install tweepy&lt;/code&gt; to install Tweepy and any dependent packages.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-8" id="fnref-8" rel="footnote"&gt;9&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;hr/&gt;
&lt;h1 id="accumulating-data"&gt;&lt;a class="toclink" href="#accumulating-data"&gt;Accumulating Data&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Having set up our development environment, let us now dive into some working examples:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Copy and paste the desired script(s) below in a text editor of choice,&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-9" id="fnref-9" rel="footnote"&gt;10&lt;/a&gt;&lt;/sup&gt; select &lt;strong&gt;save as&lt;/strong&gt; and save them with a suitable name with the &lt;code&gt;.py&lt;/code&gt; file extension (python files)) in an easily accessible folder (e.g. save the first script as &lt;code&gt;account_scraper.py&lt;/code&gt; in &lt;code&gt;c:\python_examples\&lt;/code&gt;). Alternatively, you could also download them from this article’s corresponding &lt;a href="https://github.com/steviepoppe/python_twitter_api_examples"&gt;GitHub page&lt;/a&gt;. Don’t forget to replace the placeholder Twitter API credentials (&lt;strong&gt;####&lt;/strong&gt;) with the credentials obtained earlier.&lt;/li&gt;
&lt;li&gt;Open the command prompt again. Navigate to the folder containing the python script(s) you have just saved (e.g. use the command cd to change directories: &lt;code&gt;cd C:\python_examples\&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;Run the python script by invoking the name you saved it by, using the python command and the name of the query (either the search query or the name of the target Twitter profile, e.g. &lt;code&gt;python python_twitter.py poppestevie&lt;/code&gt; or &lt;code&gt;py python_search.py poppestevie&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;Pressing &lt;span class="keys"&gt;&lt;kbd class="key-control"&gt;Ctrl&lt;/kbd&gt;&lt;span&gt;+&lt;/span&gt;&lt;kbd class="key-c"&gt;C&lt;/kbd&gt;&lt;/span&gt; in your command prompt at any time will cease the process. Due to the API limitations, the account API script will finish in a matter of seconds, while the real-time streaming API example will run until the process is terminated and, depending on the popularity of the search query, the historical search API script could run for over a day despite a hard limitation of 7 days.&lt;/li&gt;
&lt;li&gt;The APIs return tweets matching our search queries as unstructured data formatted in &lt;a href="https://en.wikipedia.org/wiki/JSON"&gt;JavaScript Object Notation&lt;/a&gt; (JSON, a lightweight data-interchange format).&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-10" id="fnref-10" rel="footnote"&gt;11&lt;/a&gt;&lt;/sup&gt; Our script saves those to a valid JSON formatted file in a ‘results’ subfolder (e.g. &lt;code&gt;C:\python_examples\results\&lt;/code&gt;.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-11" id="fnref-11" rel="footnote"&gt;12&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="admonition note"&gt;
&lt;p class="admonition-title"&gt;Note&lt;/p&gt;
&lt;p&gt;When encoding to UTF8 is enabled, Unicode characters (such as Japanese characters or emoji) and other characters that fall outside the ASCII range are, by default, escaped (e.g. 🤷 → ‘\u1F937’). This is a &lt;a href="https://docs.python.org/3/howto/unicode.html"&gt;common practice&lt;/a&gt; taken to avoid data mangling among legacy systems, and is far more memory effective due to the large size of Unicode characters (which are up to 4 times larger than their ASCII representations). The scripts on these pages, however, bypass this behavior with the &lt;code class="highlight"&gt;&lt;span class="n"&gt;ensure_ascii&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;False&lt;/span&gt;&lt;/code&gt; argument.&lt;/p&gt;
&lt;p&gt;Datasets that are expected to contain several hundreds of thousands of tweets are recommended to have that argument set to True, as such datasets will easily take up to several gigabytes of disk space. Decoding texts to their actual Unicode value is, in those cases, best kept on a need-only basis during the preprocessing phase.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-12" id="fnref-12" rel="footnote"&gt;13&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;h3 id="by-account-twitter-rest-api"&gt;&lt;a class="toclink" href="#by-account-twitter-rest-api"&gt;By Account: Twitter REST API&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Our first example script collects tweets posted by specific Twitter users, up to the most recent ~3200 tweets posted by those accounts (a limitation inherent to the Twitter API itself, which cannot be easily bypassed).&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-13" id="fnref-13" rel="footnote"&gt;14&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;In essence this script uses Tweepy’s pagination method Cursor to iterate through the target’s timeline, 200 tweets at a time (the maximum amount permitted per access call it makes to the Twitter GET API). Objects are returned as dictionaries of JSON objects, which are iterated through and written to a new, JSON-compliant file (e.g. &lt;em&gt;poppestevie_search_tweets.json&lt;/em&gt;).&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt; 1&lt;/span&gt;
&lt;span class="normal"&gt; 2&lt;/span&gt;
&lt;span class="normal"&gt; 3&lt;/span&gt;
&lt;span class="normal"&gt; 4&lt;/span&gt;
&lt;span class="normal"&gt; 5&lt;/span&gt;
&lt;span class="normal"&gt; 6&lt;/span&gt;
&lt;span class="normal"&gt; 7&lt;/span&gt;
&lt;span class="normal"&gt; 8&lt;/span&gt;
&lt;span class="normal"&gt; 9&lt;/span&gt;
&lt;span class="normal"&gt;10&lt;/span&gt;
&lt;span class="normal"&gt;11&lt;/span&gt;
&lt;span class="normal"&gt;12&lt;/span&gt;
&lt;span class="normal"&gt;13&lt;/span&gt;
&lt;span class="normal"&gt;14&lt;/span&gt;
&lt;span class="normal"&gt;15&lt;/span&gt;
&lt;span class="normal"&gt;16&lt;/span&gt;
&lt;span class="normal"&gt;17&lt;/span&gt;
&lt;span class="normal"&gt;18&lt;/span&gt;
&lt;span class="normal"&gt;19&lt;/span&gt;
&lt;span class="normal"&gt;20&lt;/span&gt;
&lt;span class="normal"&gt;21&lt;/span&gt;
&lt;span class="normal"&gt;22&lt;/span&gt;
&lt;span class="normal"&gt;23&lt;/span&gt;
&lt;span class="normal"&gt;24&lt;/span&gt;
&lt;span class="normal"&gt;25&lt;/span&gt;
&lt;span class="normal"&gt;26&lt;/span&gt;
&lt;span class="normal"&gt;27&lt;/span&gt;
&lt;span class="normal"&gt;28&lt;/span&gt;
&lt;span class="normal"&gt;29&lt;/span&gt;
&lt;span class="normal"&gt;30&lt;/span&gt;
&lt;span class="normal"&gt;31&lt;/span&gt;
&lt;span class="normal"&gt;32&lt;/span&gt;
&lt;span class="normal"&gt;33&lt;/span&gt;
&lt;span class="normal"&gt;34&lt;/span&gt;
&lt;span class="normal"&gt;35&lt;/span&gt;
&lt;span class="normal"&gt;36&lt;/span&gt;
&lt;span class="normal"&gt;37&lt;/span&gt;
&lt;span class="normal"&gt;38&lt;/span&gt;
&lt;span class="normal"&gt;39&lt;/span&gt;
&lt;span class="normal"&gt;40&lt;/span&gt;
&lt;span class="normal"&gt;41&lt;/span&gt;
&lt;span class="normal"&gt;42&lt;/span&gt;
&lt;span class="normal"&gt;43&lt;/span&gt;
&lt;span class="normal"&gt;44&lt;/span&gt;
&lt;span class="normal"&gt;45&lt;/span&gt;
&lt;span class="normal"&gt;46&lt;/span&gt;
&lt;span class="normal"&gt;47&lt;/span&gt;
&lt;span class="normal"&gt;48&lt;/span&gt;
&lt;span class="normal"&gt;49&lt;/span&gt;
&lt;span class="normal"&gt;50&lt;/span&gt;
&lt;span class="normal"&gt;51&lt;/span&gt;
&lt;span class="normal"&gt;52&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;tweepy&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;json&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;sys&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;datetime&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;datetime&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;pathlib&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;Path&lt;/span&gt;

&lt;span class="c1"&gt;#Twitter API credentials&lt;/span&gt;
&lt;span class="n"&gt;consumer_key&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'####'&lt;/span&gt;
&lt;span class="n"&gt;consumer_secret&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'####'&lt;/span&gt;
&lt;span class="n"&gt;access_key&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'####'&lt;/span&gt;
&lt;span class="n"&gt;access_secret&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'####'&lt;/span&gt;
&lt;span class="n"&gt;search_query&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;''&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;get_timeline_tweets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;screen_name&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;auth&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tweepy&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;OAuthHandler&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;consumer_key&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;consumer_secret&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;auth&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;set_access_token&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;access_key&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;access_secret&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;api&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tweepy&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;API&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;auth&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;wait_on_rate_limit&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;True&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;wait_on_rate_limit_notify&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;True&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;tweet_count&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
    &lt;span class="n"&gt;timestamp&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;datetime&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;today&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;strftime&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'%Y%m&lt;/span&gt;&lt;span class="si"&gt;%d&lt;/span&gt;&lt;span class="s1"&gt;_%H%M%S'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="c1"&gt;#create dir results if != exists&lt;/span&gt;
    &lt;span class="n"&gt;Path&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"./results/"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;mkdir&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;parents&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;True&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;exist_ok&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;True&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="nb"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'./results/timeline_tweets_&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s1"&gt;_&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s1"&gt;.json'&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;screen_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;timestamp&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; 
        &lt;span class="n"&gt;mode&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;'w'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;encoding&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"utf-8"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;file&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="c1"&gt;#bit of a  hacky way to create valid JSON but easier on memory&lt;/span&gt;
        &lt;span class="n"&gt;file&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;write&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'{"objects":['&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; 
        &lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="c1"&gt;# cursor pagination, 200 is limit of returned Tweets per access call&lt;/span&gt;
            &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;status&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;tweepy&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Cursor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;api&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;user_timeline&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;screen_name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;screen_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
                &lt;span class="n"&gt;count&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;200&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;tweet_mode&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;'extended'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;items&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
                &lt;span class="c1"&gt;#set ensure_ascii to true to encode Unicode in ascii. &lt;/span&gt;
                &lt;span class="c1"&gt;#',' conditional operator is part of the manual JSON parsing hack&lt;/span&gt;
                &lt;span class="n"&gt;file&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;write&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="s1"&gt;','&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;tweet_count&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="s1"&gt;''&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; 
                    &lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;dumps&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;status&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;_json&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;ensure_ascii&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;False&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;sort_keys&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;True&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;indent&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
                &lt;span class="n"&gt;tweet_count&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
                &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;tweet_count&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="mi"&gt;200&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                    &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"Downloaded &lt;/span&gt;&lt;span class="si"&gt;%d&lt;/span&gt;&lt;span class="s2"&gt; tweets"&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;tweet_count&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; 
        &lt;span class="k"&gt;except&lt;/span&gt; &lt;span class="ne"&gt;KeyboardInterrupt&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"Process terminated."&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

        &lt;span class="n"&gt;file&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;write&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;']}'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"Downloaded &lt;/span&gt;&lt;span class="si"&gt;%d&lt;/span&gt;&lt;span class="s2"&gt; tweets, Saved to ./results/timeline_tweets_&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s2"&gt;_&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s2"&gt;.json"&lt;/span&gt; 
        &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tweet_count&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;screen_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;timestamp&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="vm"&gt;__name__&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s1"&gt;'__main__'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="c1"&gt;#pass in the username of the target account as argument in command prompt.&lt;/span&gt;

    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sys&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;argv&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;search_query&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;sys&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;argv&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

    &lt;span class="n"&gt;get_timeline_tweets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;search_query&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;&lt;img alt="cmd_python_user" class="hwimportant fborder fcenter" src="https://steviepoppe.net/images/twitter/cmd_python_user.png" title="cmd_python_user"/&gt;&lt;/p&gt;
&lt;h2 id="by-keyword"&gt;&lt;a class="toclink" href="#by-keyword"&gt;By keyword&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The following two scripts will accumulate tweets based on one or several search queries. The first second example collects tweets from the existing pool of tweets up to about a week prior to running the script, while the second script opens a direct stream to filter incoming content based on the required keyword in real-time.&lt;/p&gt;
&lt;div class="admonition note"&gt;
&lt;p class="admonition-title"&gt;Note&lt;/p&gt;
&lt;p&gt;If you have not formerly worked with the command prompt in Windows, inputting Japanese or other non-western characters (as a search query, for example) will likely result in gibberish. The easiest solution is to change the display font of the command prompt to one that contains all Unicode characters (right click on the title bar → settings → font → select a font such as MSゴシック).&lt;/p&gt;
&lt;/div&gt;
&lt;h3 id="historical-search-twitter-rest-api"&gt;&lt;a class="toclink" href="#historical-search-twitter-rest-api"&gt;Historical Search: Twitter REST API&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Similar to our previous example, this script relies on Tweepy’s Cursor pagination; collecting approximately 100 tweets per access call and writing these to local files as valid JSON. In order to both prevent crashes caused by a memory leak in Tweepy’s pagination method and in order to keep the file size of our JSON files manageable (particularly trending topics might return up to millions of of results over the timespan of many hours running this script, taking up several gigabytes worth of disk space per single file), results are split over different files by an arbitrary number of tweets per file (defaulting to 10 000 tweets, set in &lt;strong&gt;line 11&lt;/strong&gt;).&lt;/p&gt;
&lt;p&gt;Since this script runs until either the imposed API limit of 7 days is hit or the extent of all relevant tweets within the Twitter sample are collected (which could take up tens of hours depending on the popularity of the queries), this script can therefore be ceased mid-process by pressing &lt;span class="keys"&gt;&lt;kbd class="key-control"&gt;Ctrl&lt;/kbd&gt;&lt;span&gt;+&lt;/span&gt;&lt;kbd class="key-c"&gt;C&lt;/kbd&gt;&lt;/span&gt; within the command prompt the script is currently running in.&lt;/p&gt;
&lt;p&gt;As is well-documented on &lt;a href="https://developer.twitter.com/en/docs/basics/rate-limits"&gt;Twitter API’s documentation&lt;/a&gt;, using the &lt;a href="https://developer.twitter.com/en/docs/basics/authentication/oauth-2-0/application-only"&gt;Application only authentication&lt;/a&gt; instead of user authentication permits us a much higher amount of requests within a single window of 15 minutes; translating to a faster and more maintainable approach to data-mining historical tweets (roughly 100 tweets x 450 access calls per 15 minutes, for a total of roughly &lt;strong&gt;180 000 tweets per hour&lt;/strong&gt;).&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt;  1&lt;/span&gt;
&lt;span class="normal"&gt;  2&lt;/span&gt;
&lt;span class="normal"&gt;  3&lt;/span&gt;
&lt;span class="normal"&gt;  4&lt;/span&gt;
&lt;span class="normal"&gt;  5&lt;/span&gt;
&lt;span class="normal"&gt;  6&lt;/span&gt;
&lt;span class="normal"&gt;  7&lt;/span&gt;
&lt;span class="normal"&gt;  8&lt;/span&gt;
&lt;span class="normal"&gt;  9&lt;/span&gt;
&lt;span class="normal"&gt; 10&lt;/span&gt;
&lt;span class="normal"&gt; 11&lt;/span&gt;
&lt;span class="normal"&gt; 12&lt;/span&gt;
&lt;span class="normal"&gt; 13&lt;/span&gt;
&lt;span class="normal"&gt; 14&lt;/span&gt;
&lt;span class="normal"&gt; 15&lt;/span&gt;
&lt;span class="normal"&gt; 16&lt;/span&gt;
&lt;span class="normal"&gt; 17&lt;/span&gt;
&lt;span class="normal"&gt; 18&lt;/span&gt;
&lt;span class="normal"&gt; 19&lt;/span&gt;
&lt;span class="normal"&gt; 20&lt;/span&gt;
&lt;span class="normal"&gt; 21&lt;/span&gt;
&lt;span class="normal"&gt; 22&lt;/span&gt;
&lt;span class="normal"&gt; 23&lt;/span&gt;
&lt;span class="normal"&gt; 24&lt;/span&gt;
&lt;span class="normal"&gt; 25&lt;/span&gt;
&lt;span class="normal"&gt; 26&lt;/span&gt;
&lt;span class="normal"&gt; 27&lt;/span&gt;
&lt;span class="normal"&gt; 28&lt;/span&gt;
&lt;span class="normal"&gt; 29&lt;/span&gt;
&lt;span class="normal"&gt; 30&lt;/span&gt;
&lt;span class="normal"&gt; 31&lt;/span&gt;
&lt;span class="normal"&gt; 32&lt;/span&gt;
&lt;span class="normal"&gt; 33&lt;/span&gt;
&lt;span class="normal"&gt; 34&lt;/span&gt;
&lt;span class="normal"&gt; 35&lt;/span&gt;
&lt;span class="normal"&gt; 36&lt;/span&gt;
&lt;span class="normal"&gt; 37&lt;/span&gt;
&lt;span class="normal"&gt; 38&lt;/span&gt;
&lt;span class="normal"&gt; 39&lt;/span&gt;
&lt;span class="normal"&gt; 40&lt;/span&gt;
&lt;span class="normal"&gt; 41&lt;/span&gt;
&lt;span class="normal"&gt; 42&lt;/span&gt;
&lt;span class="normal"&gt; 43&lt;/span&gt;
&lt;span class="normal"&gt; 44&lt;/span&gt;
&lt;span class="normal"&gt; 45&lt;/span&gt;
&lt;span class="normal"&gt; 46&lt;/span&gt;
&lt;span class="normal"&gt; 47&lt;/span&gt;
&lt;span class="normal"&gt; 48&lt;/span&gt;
&lt;span class="normal"&gt; 49&lt;/span&gt;
&lt;span class="normal"&gt; 50&lt;/span&gt;
&lt;span class="normal"&gt; 51&lt;/span&gt;
&lt;span class="normal"&gt; 52&lt;/span&gt;
&lt;span class="normal"&gt; 53&lt;/span&gt;
&lt;span class="normal"&gt; 54&lt;/span&gt;
&lt;span class="normal"&gt; 55&lt;/span&gt;
&lt;span class="normal"&gt; 56&lt;/span&gt;
&lt;span class="normal"&gt; 57&lt;/span&gt;
&lt;span class="normal"&gt; 58&lt;/span&gt;
&lt;span class="normal"&gt; 59&lt;/span&gt;
&lt;span class="normal"&gt; 60&lt;/span&gt;
&lt;span class="normal"&gt; 61&lt;/span&gt;
&lt;span class="normal"&gt; 62&lt;/span&gt;
&lt;span class="normal"&gt; 63&lt;/span&gt;
&lt;span class="normal"&gt; 64&lt;/span&gt;
&lt;span class="normal"&gt; 65&lt;/span&gt;
&lt;span class="normal"&gt; 66&lt;/span&gt;
&lt;span class="normal"&gt; 67&lt;/span&gt;
&lt;span class="normal"&gt; 68&lt;/span&gt;
&lt;span class="normal"&gt; 69&lt;/span&gt;
&lt;span class="normal"&gt; 70&lt;/span&gt;
&lt;span class="normal"&gt; 71&lt;/span&gt;
&lt;span class="normal"&gt; 72&lt;/span&gt;
&lt;span class="normal"&gt; 73&lt;/span&gt;
&lt;span class="normal"&gt; 74&lt;/span&gt;
&lt;span class="normal"&gt; 75&lt;/span&gt;
&lt;span class="normal"&gt; 76&lt;/span&gt;
&lt;span class="normal"&gt; 77&lt;/span&gt;
&lt;span class="normal"&gt; 78&lt;/span&gt;
&lt;span class="normal"&gt; 79&lt;/span&gt;
&lt;span class="normal"&gt; 80&lt;/span&gt;
&lt;span class="normal"&gt; 81&lt;/span&gt;
&lt;span class="normal"&gt; 82&lt;/span&gt;
&lt;span class="normal"&gt; 83&lt;/span&gt;
&lt;span class="normal"&gt; 84&lt;/span&gt;
&lt;span class="normal"&gt; 85&lt;/span&gt;
&lt;span class="normal"&gt; 86&lt;/span&gt;
&lt;span class="normal"&gt; 87&lt;/span&gt;
&lt;span class="normal"&gt; 88&lt;/span&gt;
&lt;span class="normal"&gt; 89&lt;/span&gt;
&lt;span class="normal"&gt; 90&lt;/span&gt;
&lt;span class="normal"&gt; 91&lt;/span&gt;
&lt;span class="normal"&gt; 92&lt;/span&gt;
&lt;span class="normal"&gt; 93&lt;/span&gt;
&lt;span class="normal"&gt; 94&lt;/span&gt;
&lt;span class="normal"&gt; 95&lt;/span&gt;
&lt;span class="normal"&gt; 96&lt;/span&gt;
&lt;span class="normal"&gt; 97&lt;/span&gt;
&lt;span class="normal"&gt; 98&lt;/span&gt;
&lt;span class="normal"&gt; 99&lt;/span&gt;
&lt;span class="normal"&gt;100&lt;/span&gt;
&lt;span class="normal"&gt;101&lt;/span&gt;
&lt;span class="normal"&gt;102&lt;/span&gt;
&lt;span class="normal"&gt;103&lt;/span&gt;
&lt;span class="normal"&gt;104&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;tweepy&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;sys&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;json&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;os&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;datetime&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;datetime&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;pathlib&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;Path&lt;/span&gt;

&lt;span class="c1"&gt;#Twitter API credentials&lt;/span&gt;
&lt;span class="n"&gt;consumer_key&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'####'&lt;/span&gt;
&lt;span class="n"&gt;consumer_secret&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'####'&lt;/span&gt;
&lt;span class="n"&gt;max_counter&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;10001&lt;/span&gt;  &lt;span class="c1"&gt;#set to 0 to save all tweets to one file instead of chunking in pieces&lt;/span&gt;
&lt;span class="n"&gt;max_id&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;None&lt;/span&gt; &lt;span class="c1"&gt;#Optional: Until which ID?&lt;/span&gt;
&lt;span class="n"&gt;since_id&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;None&lt;/span&gt; &lt;span class="c1"&gt;#Optional: Since which ID?&lt;/span&gt;
&lt;span class="n"&gt;language&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'ja'&lt;/span&gt; &lt;span class="c1"&gt;#Optional: filtering by which language? Japanese? -&amp;gt; 'ja'&lt;/span&gt;
&lt;span class="n"&gt;search_query&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'China'&lt;/span&gt;
&lt;span class="n"&gt;quit&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;False&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;search_tweets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sys_args&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;

    &lt;span class="k"&gt;global&lt;/span&gt; &lt;span class="n"&gt;max_id&lt;/span&gt;
    &lt;span class="k"&gt;global&lt;/span&gt; &lt;span class="n"&gt;since_id&lt;/span&gt;
    &lt;span class="k"&gt;global&lt;/span&gt; &lt;span class="n"&gt;search_query&lt;/span&gt;
    &lt;span class="k"&gt;global&lt;/span&gt; &lt;span class="n"&gt;language&lt;/span&gt;

    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sys_args&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;search_query&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;sys_args&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sys_args&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;max_id&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;sys_args&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sys_args&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;since_id&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;sys_args&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sys_args&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;language&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;sys_args&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

    &lt;span class="n"&gt;auth&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tweepy&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;AppAuthHandler&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;consumer_key&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;consumer_secret&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;api&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tweepy&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;API&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;auth&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;wait_on_rate_limit&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;True&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;wait_on_rate_limit_notify&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;True&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="n"&gt;tweet_total_count&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;
    &lt;span class="n"&gt;timestamp&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;datetime&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;today&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;strftime&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'%Y%m&lt;/span&gt;&lt;span class="si"&gt;%d&lt;/span&gt;&lt;span class="s1"&gt;_%H%M%S'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;part&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;
    &lt;span class="n"&gt;tweet_count&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;None&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

    &lt;span class="c1"&gt;#create dir results if != exists&lt;/span&gt;
    &lt;span class="n"&gt;Path&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"./results/"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;mkdir&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;parents&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;True&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;exist_ok&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;True&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="n"&gt;tweet_count&lt;/span&gt; &lt;span class="o"&gt;!=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="ow"&gt;and&lt;/span&gt; &lt;span class="n"&gt;quit&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="kc"&gt;False&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;part&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
        &lt;span class="n"&gt;tweet_count&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;process_tweets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;api&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;search_query&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;timestamp&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;part&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="n"&gt;tweet_total_count&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="n"&gt;tweet_count&lt;/span&gt;

    &lt;span class="c1"&gt;#To do: save last tweet ID in the registry in order to automatize with batch scripts&lt;/span&gt;
    &lt;span class="nb"&gt;print&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"Finished process. Downloaded &lt;/span&gt;&lt;span class="si"&gt;%d&lt;/span&gt;&lt;span class="s2"&gt; total tweets. Last tweet ID was &lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tweet_total_count&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;max_id&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;process_tweets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;api&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;search_query&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;timestamp&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;part&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="k"&gt;global&lt;/span&gt; &lt;span class="n"&gt;max_id&lt;/span&gt; 
    &lt;span class="k"&gt;global&lt;/span&gt; &lt;span class="n"&gt;quit&lt;/span&gt; 
    &lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="nb"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'./results/search_tweets_&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s1"&gt;_&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s1"&gt;_part-&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s1"&gt;.json'&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;search_query&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;timestamp&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;part&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; 
        &lt;span class="n"&gt;mode&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;'w'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;encoding&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"utf-8"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;file&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="c1"&gt;#bit of a hacky way to create valid JSON but easier on memory&lt;/span&gt;
        &lt;span class="n"&gt;file&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;write&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'{"objects":['&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; 
        &lt;span class="n"&gt;tweet_count&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;
        &lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="c1"&gt;# cursor pagination, 100 is limit of returned tweets per access call&lt;/span&gt;
&lt;span class="hll"&gt;            &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;status&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;tweepy&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Cursor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;api&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;search&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;q&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;search_query&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;count&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
&lt;/span&gt;                &lt;span class="n"&gt;tweet_mode&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;'extended'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                &lt;span class="n"&gt;lang&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;language&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                &lt;span class="n"&gt;since_id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;since_id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                &lt;span class="n"&gt;max_id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;max_id&lt;/span&gt;
                &lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;items&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;max_counter&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
                &lt;span class="c1"&gt;# tweepy takes max_id as first id to return: already have this so skip &lt;/span&gt;
                &lt;span class="c1"&gt;# (that's also why the max_counter is 10001 instead of 10k)&lt;/span&gt;
                &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;max_id&lt;/span&gt; &lt;span class="o"&gt;!=&lt;/span&gt; &lt;span class="n"&gt;status&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;id_str&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                    &lt;span class="n"&gt;max_id&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;status&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;id_str&lt;/span&gt;
                    &lt;span class="c1"&gt;#conditional operator is part of the manual JSON parsing hack&lt;/span&gt;
                    &lt;span class="n"&gt;file&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;write&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="s1"&gt;','&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;tweet_count&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="s1"&gt;''&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;dumps&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;status&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;_json&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                        &lt;span class="n"&gt;ensure_ascii&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;False&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;sort_keys&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;True&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;indent&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
                    &lt;span class="n"&gt;tweet_count&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
                    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;tweet_count&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                        &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"Downloaded &lt;/span&gt;&lt;span class="si"&gt;%d&lt;/span&gt;&lt;span class="s2"&gt; tweets"&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;tweet_count&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; 
        &lt;span class="k"&gt;except&lt;/span&gt; &lt;span class="ne"&gt;KeyboardInterrupt&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"Process terminated. Last tweet ID was &lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;max_id&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="n"&gt;quit&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;True&lt;/span&gt;
        &lt;span class="k"&gt;except&lt;/span&gt; &lt;span class="n"&gt;tweepy&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;TweepError&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"Memory error. Last tweet ID was &lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;max_id&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

        &lt;span class="n"&gt;file&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;write&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;']}'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="c1"&gt;#To do: we don't know if we've reached the last tweet until the tweepy API call,&lt;/span&gt;
    &lt;span class="c1"&gt;# which happens after creating  a new JSON file. For now, this just removes the empty, final json file&lt;/span&gt;
    &lt;span class="c1"&gt;#optionally we could keep all objects, per chunk of 10k, &lt;/span&gt;
    &lt;span class="c1"&gt;#in memory and save at the end but this is way more memory-taxing&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;tweet_count&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="nb"&gt;print&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"Downloaded &lt;/span&gt;&lt;span class="si"&gt;%d&lt;/span&gt;&lt;span class="s2"&gt; tweets, Saved to ./results/search_tweets_&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s2"&gt;_&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s2"&gt;_part-&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s2"&gt;.json"&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
            &lt;span class="n"&gt;tweet_count&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;search_query&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;timestamp&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;part&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
    &lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;remove&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"./results/search_tweets_&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s2"&gt;_&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s2"&gt;_part-&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s2"&gt;.json"&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;search_query&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;timestamp&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;part&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;

    &lt;span class="c1"&gt;#no need to loop if all tweets are saved in one file&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;max_counter&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;quit&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;True&lt;/span&gt;

    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;tweet_count&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="vm"&gt;__name__&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s1"&gt;'__main__'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;search_tweets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sys&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;argv&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;&lt;img alt="cmd_python_search" class="hwimportant fborder fcenter" src="https://steviepoppe.net/images/twitter/cmd_python_search.png" title="cmd_python_search"/&gt;&lt;/p&gt;
&lt;div class="admonition note"&gt;
&lt;p class="admonition-title"&gt;Note&lt;/p&gt;
&lt;p&gt;If we wish to &lt;strong&gt;resume&lt;/strong&gt; this process starting from where we left off, we might do so using the &lt;code&gt;max_id&lt;/code&gt; &lt;a href="https://developer.twitter.com/en/docs/tweets/search/api-reference/get-search-tweets"&gt;argument&lt;/a&gt; during our Search API access call (which can be set in &lt;strong&gt;line 12&lt;/strong&gt;). Simply replacing None with the tweet ID of the last JSON object in our previously compiled JSON list of results will do the trick. Likewise, we could do the same, using &lt;code&gt;since_id&lt;/code&gt; (&lt;strong&gt;line 13&lt;/strong&gt;), to collect tweets over a longer period of time (by taking the tweet ID of the first object in the last compiled JSON file as the entry point).&lt;/p&gt;
&lt;p&gt;If we intent to further limit the requested tweets to a &lt;strong&gt;particular language&lt;/strong&gt;, we could also optionally filter our results by setting an language argument (&lt;strong&gt;line 14&lt;/strong&gt;) for our access call: e.g. “&lt;code class="highlight"&gt;&lt;span class="n"&gt;language&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'ja'&lt;/span&gt;&lt;/code&gt;”. It is perfectly possible to filter by several different languages, as well (e.g. “&lt;code class="highlight"&gt;&lt;span class="n"&gt;language&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"ja"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;"en"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;/code&gt;”). Using a filter to limit tweets by location, however, is not recommended due to the limited amount of Twitter accounts that accurately add such information.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-14" id="fnref-14" rel="footnote"&gt;15&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;Finally, it might be worthwhile to look into the &lt;a href="https://developer.twitter.com/en/docs/tweets/rules-and-filtering/guides/build-standard-queries"&gt;Twitter API documentation&lt;/a&gt; in regards to filtering incoming tweets. If we intend to filter out retweets, for example, we could further adjust our script (&lt;strong&gt;line 63&lt;/strong&gt;) by changing “&lt;code class="highlight"&gt;&lt;span class="n"&gt;q&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;search_query&lt;/span&gt;&lt;/code&gt;” to “&lt;code class="highlight"&gt;&lt;span class="n"&gt;q&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;search_query&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="s2"&gt;" -filter:retweets"&lt;/span&gt;&lt;/code&gt;”. Moreover, in order to search by multiple queries, we could just input several queries or use the logical operators &lt;strong&gt;OR&lt;/strong&gt; in-between (e.g. “&lt;code class="highlight"&gt;&lt;span class="n"&gt;py&lt;/span&gt; &lt;span class="n"&gt;python_twitter_stream&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;py&lt;/span&gt; &lt;span class="s2"&gt;"#corona #covid19"&lt;/span&gt;&lt;/code&gt;” for tweets containing both, or “&lt;code class="highlight"&gt;&lt;span class="n"&gt;py&lt;/span&gt; &lt;span class="n"&gt;python_twitter_search&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;py&lt;/span&gt; &lt;span class="s2"&gt;"#corona OR #covid19"&lt;/span&gt;&lt;/code&gt;” for those containing either. Don’t forget to enclose the query in [] brackets, however!&lt;/p&gt;
&lt;/div&gt;
&lt;h3 id="real-time-twitter-streaming-api"&gt;&lt;a class="toclink" href="#real-time-twitter-streaming-api"&gt;Real-Time: Twitter Streaming API&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Unlike the previous two examples, the following script does not pull data from a RESTful API but creates a &lt;em&gt;listener&lt;/em&gt; that is perpetually connected to the Twitter Streaming API (referred to as the &lt;strong&gt;&lt;em&gt;firehose&lt;/em&gt;&lt;/strong&gt;, limited to about ∼1% of incoming Twitter traffic). It signals to the API which queries to filter by, upon which the Twitter API pushes back all matching incoming tweets.&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt; 1&lt;/span&gt;
&lt;span class="normal"&gt; 2&lt;/span&gt;
&lt;span class="normal"&gt; 3&lt;/span&gt;
&lt;span class="normal"&gt; 4&lt;/span&gt;
&lt;span class="normal"&gt; 5&lt;/span&gt;
&lt;span class="normal"&gt; 6&lt;/span&gt;
&lt;span class="normal"&gt; 7&lt;/span&gt;
&lt;span class="normal"&gt; 8&lt;/span&gt;
&lt;span class="normal"&gt; 9&lt;/span&gt;
&lt;span class="normal"&gt;10&lt;/span&gt;
&lt;span class="normal"&gt;11&lt;/span&gt;
&lt;span class="normal"&gt;12&lt;/span&gt;
&lt;span class="normal"&gt;13&lt;/span&gt;
&lt;span class="normal"&gt;14&lt;/span&gt;
&lt;span class="normal"&gt;15&lt;/span&gt;
&lt;span class="normal"&gt;16&lt;/span&gt;
&lt;span class="normal"&gt;17&lt;/span&gt;
&lt;span class="normal"&gt;18&lt;/span&gt;
&lt;span class="normal"&gt;19&lt;/span&gt;
&lt;span class="normal"&gt;20&lt;/span&gt;
&lt;span class="normal"&gt;21&lt;/span&gt;
&lt;span class="normal"&gt;22&lt;/span&gt;
&lt;span class="normal"&gt;23&lt;/span&gt;
&lt;span class="normal"&gt;24&lt;/span&gt;
&lt;span class="normal"&gt;25&lt;/span&gt;
&lt;span class="normal"&gt;26&lt;/span&gt;
&lt;span class="normal"&gt;27&lt;/span&gt;
&lt;span class="normal"&gt;28&lt;/span&gt;
&lt;span class="normal"&gt;29&lt;/span&gt;
&lt;span class="normal"&gt;30&lt;/span&gt;
&lt;span class="normal"&gt;31&lt;/span&gt;
&lt;span class="normal"&gt;32&lt;/span&gt;
&lt;span class="normal"&gt;33&lt;/span&gt;
&lt;span class="normal"&gt;34&lt;/span&gt;
&lt;span class="normal"&gt;35&lt;/span&gt;
&lt;span class="normal"&gt;36&lt;/span&gt;
&lt;span class="normal"&gt;37&lt;/span&gt;
&lt;span class="normal"&gt;38&lt;/span&gt;
&lt;span class="normal"&gt;39&lt;/span&gt;
&lt;span class="normal"&gt;40&lt;/span&gt;
&lt;span class="normal"&gt;41&lt;/span&gt;
&lt;span class="normal"&gt;42&lt;/span&gt;
&lt;span class="normal"&gt;43&lt;/span&gt;
&lt;span class="normal"&gt;44&lt;/span&gt;
&lt;span class="normal"&gt;45&lt;/span&gt;
&lt;span class="normal"&gt;46&lt;/span&gt;
&lt;span class="normal"&gt;47&lt;/span&gt;
&lt;span class="normal"&gt;48&lt;/span&gt;
&lt;span class="normal"&gt;49&lt;/span&gt;
&lt;span class="normal"&gt;50&lt;/span&gt;
&lt;span class="normal"&gt;51&lt;/span&gt;
&lt;span class="normal"&gt;52&lt;/span&gt;
&lt;span class="normal"&gt;53&lt;/span&gt;
&lt;span class="normal"&gt;54&lt;/span&gt;
&lt;span class="normal"&gt;55&lt;/span&gt;
&lt;span class="normal"&gt;56&lt;/span&gt;
&lt;span class="normal"&gt;57&lt;/span&gt;
&lt;span class="normal"&gt;58&lt;/span&gt;
&lt;span class="normal"&gt;59&lt;/span&gt;
&lt;span class="normal"&gt;60&lt;/span&gt;
&lt;span class="normal"&gt;61&lt;/span&gt;
&lt;span class="normal"&gt;62&lt;/span&gt;
&lt;span class="normal"&gt;63&lt;/span&gt;
&lt;span class="normal"&gt;64&lt;/span&gt;
&lt;span class="normal"&gt;65&lt;/span&gt;
&lt;span class="normal"&gt;66&lt;/span&gt;
&lt;span class="normal"&gt;67&lt;/span&gt;
&lt;span class="normal"&gt;68&lt;/span&gt;
&lt;span class="normal"&gt;69&lt;/span&gt;
&lt;span class="normal"&gt;70&lt;/span&gt;
&lt;span class="normal"&gt;71&lt;/span&gt;
&lt;span class="normal"&gt;72&lt;/span&gt;
&lt;span class="normal"&gt;73&lt;/span&gt;
&lt;span class="normal"&gt;74&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;tweepy&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;json&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;sys&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;datetime&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;datetime&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;pathlib&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;Path&lt;/span&gt;

&lt;span class="c1"&gt;#Twitter API credentials&lt;/span&gt;
&lt;span class="n"&gt;consumer_key&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'####'&lt;/span&gt;
&lt;span class="n"&gt;consumer_secret&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'####'&lt;/span&gt;
&lt;span class="n"&gt;access_key&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'####'&lt;/span&gt;
&lt;span class="n"&gt;access_secret&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'####'&lt;/span&gt;

&lt;span class="n"&gt;tweet_count&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;
&lt;span class="n"&gt;search_query&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;''&lt;/span&gt;
&lt;span class="n"&gt;timestamp&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;datetime&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;today&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;strftime&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'%Y%m&lt;/span&gt;&lt;span class="si"&gt;%d&lt;/span&gt;&lt;span class="s1"&gt;_%H%M%S'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="hll"&gt;&lt;span class="n"&gt;language&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;''&lt;/span&gt; &lt;span class="c1"&gt;#Optional: filtering by which language? Japanese? -&amp;gt; 'ja'&lt;/span&gt;
&lt;/span&gt;
&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;StreamListener&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tweepy&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;StreamListener&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;

    &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;on_data&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="nb"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'./results/stream_tweets_&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s1"&gt;_&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s1"&gt;.json'&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;search_query&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;timestamp&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; 
                &lt;span class="s1"&gt;'a'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;encoding&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"utf-8"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;file&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                &lt;span class="k"&gt;global&lt;/span&gt; &lt;span class="n"&gt;tweet_count&lt;/span&gt; 
                &lt;span class="n"&gt;status&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;loads&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
                &lt;span class="c1"&gt;#make sure the incoming data is tweet JSON, not rate related JSON&lt;/span&gt;
                &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="s2"&gt;"created_at"&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;status&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                    &lt;span class="c1"&gt;#prettifying json by parsing status string as json and then redumping ?? oof        &lt;/span&gt;
                    &lt;span class="n"&gt;file&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;write&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="s1"&gt;','&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;tweet_count&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="s1"&gt;''&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; 
                        &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;dumps&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;status&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;ensure_ascii&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;False&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;sort_keys&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;True&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;indent&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;            
                    &lt;span class="n"&gt;tweet_count&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
                    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;tweet_count&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                        &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"Downloaded &lt;/span&gt;&lt;span class="si"&gt;%d&lt;/span&gt;&lt;span class="s2"&gt; tweets"&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;tweet_count&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
                &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="kc"&gt;True&lt;/span&gt;
        &lt;span class="k"&gt;except&lt;/span&gt; &lt;span class="ne"&gt;BaseException&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"Error on_data: &lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;         
            &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="kc"&gt;True&lt;/span&gt;

    &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;on_error&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;status&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"Error status on_error: &lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;status&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="kc"&gt;True&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="vm"&gt;__name__&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s1"&gt;'__main__'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;auth&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tweepy&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;OAuthHandler&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;consumer_key&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;consumer_secret&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;auth&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;set_access_token&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;access_key&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;access_secret&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;api&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tweepy&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;API&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;auth&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;wait_on_rate_limit&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;True&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="n"&gt;wait_on_rate_limit_notify&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;True&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sys&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;argv&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;search_query&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;sys&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;argv&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sys&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;argv&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;language&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;sys&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;argv&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

    &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"Python stream started. Press ctrl-c to disconnect."&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="c1"&gt;#create dir results if != exists&lt;/span&gt;
    &lt;span class="n"&gt;Path&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"./results/"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;mkdir&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;parents&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;True&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;exist_ok&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;True&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="c1"&gt;#very hacky way of creating valid JSON but easier on memory&lt;/span&gt;
    &lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="nb"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'./results/stream_tweets_&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s1"&gt;_&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s1"&gt;.json'&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;search_query&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;timestamp&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="s1"&gt;'w'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;encoding&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"utf-8"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;file&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;file&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;write&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'{"objects":['&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="kc"&gt;True&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="n"&gt;StreamListener&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;StreamListener&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
            &lt;span class="n"&gt;stream&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tweepy&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Stream&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;auth&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;api&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;auth&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;listener&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;StreamListener&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;tweet_mode&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;'extended'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="n"&gt;stream&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;filter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;track&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;search_query&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;languages&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;language&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
    &lt;span class="k"&gt;except&lt;/span&gt; &lt;span class="ne"&gt;KeyboardInterrupt&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;stream&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;disconnect&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="c1"&gt;#disconnect the stream and stop streaming&lt;/span&gt;
        &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"Stream disconnected. Downloaded &lt;/span&gt;&lt;span class="si"&gt;%d&lt;/span&gt;&lt;span class="s2"&gt; tweets, Saved to ./results/stream_tweets_&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s2"&gt;_&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s2"&gt;.json"&lt;/span&gt;
            &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tweet_count&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;search_query&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;timestamp&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;

    &lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="nb"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'./results/stream_tweets_&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s1"&gt;_&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s1"&gt;.json'&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;search_query&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;timestamp&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="s1"&gt;'a'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;file&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;file&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;write&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;']}'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;div class="admonition note"&gt;
&lt;p class="admonition-title"&gt;Note&lt;/p&gt;
&lt;p&gt;If the reader intents to limit the requested tweets to a particular language, they can impose a filter by editing the language variable (&lt;strong&gt;line 16&lt;/strong&gt;) to the intended language (e.g. “&lt;code class="highlight"&gt;&lt;span class="n"&gt;language&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'ja'&lt;/span&gt;&lt;/code&gt;”).&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-15" id="fnref-15" rel="footnote"&gt;16&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;h1 id="data-processing"&gt;&lt;a class="toclink" href="#data-processing"&gt;Data Processing&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;By now, we should have one or several files containing raw tweet data formatted in JSON. opening one of those files with our text editor of choice permits us a closer look at the skeleton of such tweet objects. As seen in the example below, each single tweet contains a large amount of meta information (the &lt;a href="https://developer.twitter.com/en/docs/tweets/data-dictionary/overview/tweet-object"&gt;Twitter Developer page&lt;/a&gt; offers a brief structural overview of each field in a JSON tweet object), not all of which might be relevant to us. The following fields are some that might be immediately relevant to us at this stage:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;“created_at”&lt;/strong&gt;: “UTC time when this tweet was created.”
&lt;strong&gt;“id”&lt;/strong&gt;: “The integer representation of the unique identifier for this tweet”
&lt;strong&gt;“text”&lt;/strong&gt;: “The actual UTF-8 text of the status update. “
&lt;strong&gt;“lang”&lt;/strong&gt;: “&lt;em&gt;Nullable&lt;/em&gt;. When present, indicates a BCP 47 language identifier corresponding to the machine-detected language of the tweet text”
&lt;strong&gt;“user”&lt;/strong&gt; → &lt;strong&gt;“name”&lt;/strong&gt;: “The name of the user, as they’ve defined it.”
&lt;strong&gt;“user”&lt;/strong&gt; → &lt;strong&gt;“screen_name”&lt;/strong&gt;: “The screen name, handle, or alias that this user identifies themselves with. “
&lt;strong&gt;“user”&lt;/strong&gt; → &lt;strong&gt;“location”&lt;/strong&gt;: “&lt;em&gt;Nullable&lt;/em&gt;. The user-defined location for this account’s profile. Not necessarily a location, nor machine-parseable. “&lt;/p&gt;
&lt;p&gt;&lt;img alt="json_example" class="hwimportant fborder fcenter halfwidth" src="https://steviepoppe.net/images/twitter/json_example.gif" title="json_example"/&gt;&lt;/p&gt;
&lt;p&gt;For this tutorial, the reader will mostly likely require only one or several elements of each tweet, such as the text, time-stamp, and user-name. It is generally best practice to save only the data required, and in that case the above scripts could have easily been edited to do so instead of returning unnecessary large JSON dumps. It could be argued, however, that due to the volatile state of data mining on Twitter, it is still beneficial to have an untainted and complete copy of the data we will be working with. Data seemingly unnecessary at first glance might turn out to be useful halfway through your writing process.&lt;/p&gt;
&lt;p&gt;For that reason, we will use the complete JSON dumps acquired through the methods above to build the processed sets necessary for our analysis. With preprocessing, this blog post thus actually refers to the process of removing irrelevant data and any other form of noise until we have obtained exactly what we need.&lt;/p&gt;
&lt;div class="admonition note"&gt;
&lt;p class="admonition-title"&gt;Note&lt;/p&gt;
&lt;p&gt;During this phase, it is further worthwhile to think about how to deal with the other contextual data surrounding each tweet. What about the attached media (URLs, images, videos or sound bites)? How does the tweet fit within a larger thread of conversation? what should we know about the original of retweets or quotes? What about shortened URLs in retweets or quotes? Is the tweet still relevant to our research if it was mined because the full URL of a retweeted tweet contained a matching keyword? Especially for larger datasets, it is important to remove ‘noise’ (e.g. irrelevant tweets and other data) to ensure more precise results.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="admonition note"&gt;
&lt;p class="admonition-title"&gt;OpenRefine (optional)&lt;/p&gt;
&lt;p&gt;The final section of this article provides another Python script for preprocessing any obtained tweet data to something we can actually use for further analysis. Optionally, we might also install the data cleanup and transformation application &lt;a href="http://openrefine.org/"&gt;OpenRefine&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Although the most clear cut way to obtain data to one’s own needs would be to alter the python scripts provided in this article (Python really is a fairly straightforward programming language), for those who are turned off by the prospect of editing code, the graphical interface of OpenRefine might offer some respite. Moreover, for those collecting data written in different writing systems (such as Japanese), OpenRefine’s data cleanup functionality might turn out particularly useful when dealing with file conversation (e.g. to older versions of MS Excel).&lt;/p&gt;
&lt;p&gt;Again, it is recommend getting a bit acquainted with the application. &lt;a href="https://programminghistorian.org/"&gt;Programming Historian&lt;/a&gt; (an open-source and open-access journal of peer-reviewed technical tutorials for those in the humanities) offers a useful &lt;a href="https://programminghistorian.org/en/lessons/cleaning-data-with-openrefine"&gt;introductory guide&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;h2 id="preprocessing-with-python"&gt;&lt;a class="toclink" href="#preprocessing-with-python"&gt;Preprocessing with Python&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;In essence, the script below is a simple parser that loads the content of the JSON files generated through the above methods and saves several relevant fields (such as the tweet text content, its hashtags and date of creation, as well as basic information pertaining the author) of each tweet in a new CSV file.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-16" id="fnref-16" rel="footnote"&gt;17&lt;/a&gt;&lt;/sup&gt; This script serves as a basic skeleton that can be edited to include or exclude desired fields,&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-17" id="fnref-17" rel="footnote"&gt;18&lt;/a&gt;&lt;/sup&gt; or could be used for further preprocessing (such as cleaning the textual content of URLs or stop words).&lt;/p&gt;
&lt;p&gt;As of late 2017, Twitter doubled the allowed character size, which particularly benefits tweets written in Japanese. This script always takes the most complete data (such as the &lt;code&gt;full_text&lt;/code&gt; or &lt;code&gt;extended_tweet&lt;/code&gt; field), in case the tweet content is longer than 140 characters. Nevertheless, a retweet of a message that exceeds the 140 character length will still get cut off in the JSON Twitter’s APIs return, potentially losing user mentions or hashtags in the process and significantly messing with our metrics. This is not optimal, as the Twitter API will still return search results based on keywords that might have been cut off. To remedy this, the script will reconstruct the retweet based on the content, hashtags and other entity information from the original tweet.&lt;/p&gt;
&lt;p&gt;Of final note is the addition of simple helper method for converting the time of creation (in standard UCT) to a ISO 8601 compliant format, another international standard for exchanging date/time-related data.&lt;/p&gt;
&lt;p&gt;In order to run the script below, we will again invoke the script using the command prompt. This script expects one argument: the name of our target document (excluding its .JSON file extension, e.g. “&lt;code&gt;py python_parse_tweet.py timeline_tweets_abeshinzo_20200510_211848&lt;/code&gt;”).&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt; 1&lt;/span&gt;
&lt;span class="normal"&gt; 2&lt;/span&gt;
&lt;span class="normal"&gt; 3&lt;/span&gt;
&lt;span class="normal"&gt; 4&lt;/span&gt;
&lt;span class="normal"&gt; 5&lt;/span&gt;
&lt;span class="normal"&gt; 6&lt;/span&gt;
&lt;span class="normal"&gt; 7&lt;/span&gt;
&lt;span class="normal"&gt; 8&lt;/span&gt;
&lt;span class="normal"&gt; 9&lt;/span&gt;
&lt;span class="normal"&gt;10&lt;/span&gt;
&lt;span class="normal"&gt;11&lt;/span&gt;
&lt;span class="normal"&gt;12&lt;/span&gt;
&lt;span class="normal"&gt;13&lt;/span&gt;
&lt;span class="normal"&gt;14&lt;/span&gt;
&lt;span class="normal"&gt;15&lt;/span&gt;
&lt;span class="normal"&gt;16&lt;/span&gt;
&lt;span class="normal"&gt;17&lt;/span&gt;
&lt;span class="normal"&gt;18&lt;/span&gt;
&lt;span class="normal"&gt;19&lt;/span&gt;
&lt;span class="normal"&gt;20&lt;/span&gt;
&lt;span class="normal"&gt;21&lt;/span&gt;
&lt;span class="normal"&gt;22&lt;/span&gt;
&lt;span class="normal"&gt;23&lt;/span&gt;
&lt;span class="normal"&gt;24&lt;/span&gt;
&lt;span class="normal"&gt;25&lt;/span&gt;
&lt;span class="normal"&gt;26&lt;/span&gt;
&lt;span class="normal"&gt;27&lt;/span&gt;
&lt;span class="normal"&gt;28&lt;/span&gt;
&lt;span class="normal"&gt;29&lt;/span&gt;
&lt;span class="normal"&gt;30&lt;/span&gt;
&lt;span class="normal"&gt;31&lt;/span&gt;
&lt;span class="normal"&gt;32&lt;/span&gt;
&lt;span class="normal"&gt;33&lt;/span&gt;
&lt;span class="normal"&gt;34&lt;/span&gt;
&lt;span class="normal"&gt;35&lt;/span&gt;
&lt;span class="normal"&gt;36&lt;/span&gt;
&lt;span class="normal"&gt;37&lt;/span&gt;
&lt;span class="normal"&gt;38&lt;/span&gt;
&lt;span class="normal"&gt;39&lt;/span&gt;
&lt;span class="normal"&gt;40&lt;/span&gt;
&lt;span class="normal"&gt;41&lt;/span&gt;
&lt;span class="normal"&gt;42&lt;/span&gt;
&lt;span class="normal"&gt;43&lt;/span&gt;
&lt;span class="normal"&gt;44&lt;/span&gt;
&lt;span class="normal"&gt;45&lt;/span&gt;
&lt;span class="normal"&gt;46&lt;/span&gt;
&lt;span class="normal"&gt;47&lt;/span&gt;
&lt;span class="normal"&gt;48&lt;/span&gt;
&lt;span class="normal"&gt;49&lt;/span&gt;
&lt;span class="normal"&gt;50&lt;/span&gt;
&lt;span class="normal"&gt;51&lt;/span&gt;
&lt;span class="normal"&gt;52&lt;/span&gt;
&lt;span class="normal"&gt;53&lt;/span&gt;
&lt;span class="normal"&gt;54&lt;/span&gt;
&lt;span class="normal"&gt;55&lt;/span&gt;
&lt;span class="normal"&gt;56&lt;/span&gt;
&lt;span class="normal"&gt;57&lt;/span&gt;
&lt;span class="normal"&gt;58&lt;/span&gt;
&lt;span class="normal"&gt;59&lt;/span&gt;
&lt;span class="normal"&gt;60&lt;/span&gt;
&lt;span class="normal"&gt;61&lt;/span&gt;
&lt;span class="normal"&gt;62&lt;/span&gt;
&lt;span class="normal"&gt;63&lt;/span&gt;
&lt;span class="normal"&gt;64&lt;/span&gt;
&lt;span class="normal"&gt;65&lt;/span&gt;
&lt;span class="normal"&gt;66&lt;/span&gt;
&lt;span class="normal"&gt;67&lt;/span&gt;
&lt;span class="normal"&gt;68&lt;/span&gt;
&lt;span class="normal"&gt;69&lt;/span&gt;
&lt;span class="normal"&gt;70&lt;/span&gt;
&lt;span class="normal"&gt;71&lt;/span&gt;
&lt;span class="normal"&gt;72&lt;/span&gt;
&lt;span class="normal"&gt;73&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;tweepy&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;sys&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;csv&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;datetime&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;date&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;datetime&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;timezone&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;pathlib&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;Path&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;parse_tweets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;file_name&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;

    &lt;span class="n"&gt;Path&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"./results/"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;mkdir&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;parents&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;True&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;exist_ok&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;True&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="nb"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"./results/&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s2"&gt;.json"&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;file_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;mode&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;'r'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;encoding&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"utf-8"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;tweet_data&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;       
        &lt;span class="c1"&gt;#newline parameter is necessary for correctly formatting newlines inside quoted fields&lt;/span&gt;
        &lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="nb"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'./results/&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s1"&gt;.csv'&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;file_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;mode&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;'w'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;encoding&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"utf-8"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;newline&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;''&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;file&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;

            &lt;span class="n"&gt;writer&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;csv&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;writer&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;file&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;dialect&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;'excel'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="c1"&gt;#table headers&lt;/span&gt;
            &lt;span class="n"&gt;writer&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;writerow&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="s2"&gt;"tweet_id"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;"text"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"hashtags"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"created_at"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"is_retweet"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"user_screen_name"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
                &lt;span class="s2"&gt;"user_description"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"user_friends_count"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"user_followers_count"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
                &lt;span class="s2"&gt;"user_total_tweets"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"user_created_at"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;

            &lt;span class="n"&gt;tweets&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;load&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tweet_data&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

            &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;tweet&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;tweets&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"objects"&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt;                    
                &lt;span class="n"&gt;tweet_id&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"id"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
                &lt;span class="n"&gt;entities&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"entities"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

                &lt;span class="n"&gt;user&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"user"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
                &lt;span class="n"&gt;user_screen_name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"screen_name"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
                &lt;span class="n"&gt;user_description&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"description"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;strip&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
                &lt;span class="n"&gt;user_following_count&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"friends_count"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
                &lt;span class="n"&gt;user_followers_count&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"followers_count"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
                &lt;span class="n"&gt;user_total_tweets&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"statuses_count"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
                &lt;span class="n"&gt;user_created_at&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;string_to_dt&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"created_at"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
                &lt;span class="n"&gt;created_at&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;string_to_dt&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"created_at"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
                &lt;span class="n"&gt;retweet_count&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"retweet_count"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
                &lt;span class="n"&gt;is_retweet&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"retweeted_status"&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;   
                &lt;span class="n"&gt;hashtags&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt;

                &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;is_retweet&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="kc"&gt;True&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                    &lt;span class="n"&gt;retweet&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"retweeted_status"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
                    &lt;span class="n"&gt;retweet_original_id&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;retweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"id"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
                    &lt;span class="n"&gt;re_entities&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;retweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"entities"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

                    &lt;span class="n"&gt;text&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"RT @"&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;entities&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"user_mentions"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s2"&gt;"screen_name"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="s2"&gt;": "&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;retweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"extended_tweet"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s2"&gt;"full_text"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; 
                        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="s2"&gt;"extended_tweet"&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;retweet&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="n"&gt;retweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"full_text"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="s2"&gt;"full_text"&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;retweet&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="n"&gt;retweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"text"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;

                    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="s1"&gt;'hashtags'&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;re_entities&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                        &lt;span class="n"&gt;hashtags&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;hashtag&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"text"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;hashtag&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;re_entities&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"hashtags"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
                &lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;                   
                    &lt;span class="n"&gt;text&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"extended_tweet"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s2"&gt;"full_text"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="s2"&gt;"extended_tweet"&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;tweet&lt;/span&gt; 
                    &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"full_text"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="s2"&gt;"full_text"&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;tweet&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="n"&gt;tweet&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"text"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;

                    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="s1"&gt;'hashtags'&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;entities&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                        &lt;span class="n"&gt;hashtags&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;hashtag&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"text"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;hashtag&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;entities&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"hashtags"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;

                &lt;span class="c1"&gt;#converts hashtag dict to comma-seperated string, can be commented out if original list is preferred&lt;/span&gt;
                &lt;span class="n"&gt;hashtags&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;', '&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;join&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;hashtags&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

                &lt;span class="n"&gt;text&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;strip&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

                &lt;span class="n"&gt;writer&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;writerow&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="n"&gt;tweet_id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;hashtags&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;created_at&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;is_retweet&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;user_screen_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;user_description&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
                    &lt;span class="n"&gt;user_following_count&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;user_followers_count&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;user_total_tweets&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;user_created_at&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;

    &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"Finished. Saved to ./results/&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s2"&gt;_tweets.csv"&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;file_name&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;

&lt;span class="c1"&gt;#converts Tweet date to ISO 8601 compliant string. Tweet timezones are standard UTC&lt;/span&gt;
&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;string_to_dt&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;time_string&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;date_object&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;  &lt;span class="n"&gt;datetime&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;strptime&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;time_string&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="si"&gt;%a&lt;/span&gt;&lt;span class="s1"&gt; %b &lt;/span&gt;&lt;span class="si"&gt;%d&lt;/span&gt;&lt;span class="s1"&gt; %H:%M:%S %z %Y'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;date_object&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;isoformat&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="vm"&gt;__name__&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s1"&gt;'__main__'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="c1"&gt;#pass in the target filename without "json" as argument in command prompt.&lt;/span&gt;
    &lt;span class="n"&gt;parse_tweets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sys&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;argv&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;&lt;img alt="open_refine_abe" class="hwimportant fborder fcenter" src="https://steviepoppe.net/images/twitter/open_refine_abe.png" title="open_refine_abe"/&gt;&lt;/p&gt;
&lt;div class="admonition note"&gt;
&lt;p class="admonition-title"&gt;Note&lt;/p&gt;
&lt;p&gt;Spreadsheets such as OpenLibre have strong CSV support. MS Excel versions prior to 2019, however, has some issues with handling newlines, which will most likely mess with our data structure.19 If working with such versions of Excel is a must, the easiest option for dealing with this problem is to import the CSV in OpenRefine (as seen in the screenshot above) and export as Excel file.&lt;/p&gt;
&lt;/div&gt;
&lt;hr/&gt;
&lt;h1 id="wait-there-is-more"&gt;&lt;a class="toclink" href="#wait-there-is-more"&gt;Wait! There is more!&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;This brief tutorial outlined the bare necessities to accumulate tweets, either in real time or historical, based either on user profiles or on particular keywords, using the Python scripting language and several working example scripts. Furthermore, this tutorial outlined a basic method for preprocessing those results into a viable dataset suitable to apply methods of quantitative analysis on. Using a preprocessed CSV generated through the steps taken above, the next guides in this series will cover existing tools and methods that may assist the reader in strengthening their topic of research with a Social Media Analysis angle.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-19" id="fnref-19" rel="footnote"&gt;20&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://steviepoppe.net/blog/2020/05/a-quick-guide-to-data-mining-textual-analysis-of-japanese-twitter-part-2/"&gt;A &lt;del&gt;Quick&lt;/del&gt; Guide to Data-mining &amp;amp; (Textual) Analysis of (Japanese) Twitter Part 2: Basic Metrics &amp;amp; Graphs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://steviepoppe.net/blog/2020/06/a-quick-guide-to-data-mining-textual-analysis-of-japanese-twitter-part-3/"&gt;A &lt;del&gt;Quick&lt;/del&gt; Guide to Data-mining &amp;amp; (Textual) Analysis of (Japanese) Twitter Part 3: Natural Language Processing With MeCab, Neologd and KH Coder&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://steviepoppe.net/blog/2020/07/a-quick-guide-to-data-mining-textual-analysis-of-japanese-twitter-part-4/"&gt;A &lt;del&gt;Quick&lt;/del&gt; Guide to Data-mining &amp;amp; (Textual) Analysis of (Japanese) Twitter Part 4: Natural Language Processing With MeCab, Neologd and NLTK&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#"&gt;A &lt;del&gt;Quick&lt;/del&gt; Guide to Data-mining &amp;amp; (Textual) Analysis of (Japanese) Twitter Part 5: Advanced Metrics &amp;amp; Graphs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;On a final note, it is my aim to write tutorials like these in such a way that they provide enough detail and (technical) information on the applied methodology to be useful in extended contexts, while still being accessible to less IT-savvy students. If anything is unclear, however, please do not hesitate to leave questions in the comment section below. &lt;i class="icon-hand-down"&gt;&lt;/i&gt;&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr/&gt;
&lt;ol&gt;
&lt;li id="fn-footnote"&gt;
&lt;p&gt;Still image from the 2012 Japanese animated film Wolf Children by Mamoru Hosoda, used under a Fair Use doctrine. &lt;a class="footnote-backref" href="#fnref-footnote" title="Jump back to footnote 1 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-1"&gt;
&lt;p&gt;Moreover, the majority of general tutorials found online relied on dated methods and did not take into account recent Twitter changes such as extended length of tweets or quotes. &lt;a class="footnote-backref" href="#fnref-1" title="Jump back to footnote 2 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-2"&gt;
&lt;p&gt;Unfortunately little information is available concerning to how Twitter samples this data. While Twitter, by design, has a particular sociocultural demographic that might not not be fully representative of a greater offline public sphere, even conclusions regarding Twitter usage itself cannot in good faith be called scientifically proof as long as there is not sufficient knowledge on the way Twitter handles its sampling methods. &lt;a class="footnote-backref" href="#fnref-2" title="Jump back to footnote 3 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-3"&gt;
&lt;p&gt;Several attempts have been made to increase sample size and accuracy. One of such, focusing on building a dataset representative of the Japanese Twitter public sphere, is: &lt;strong&gt;Hino, Airo, and Robert A. Fahey&lt;/strong&gt;. 2019. ‘Representing the Twittersphere: Archiving a Representative Sample of Twitter Data under Resource Constraints’. International Journal of Information Management 48 (October): 175–84. &lt;a href="https://doi.org/10.1016/j.ijinfomgt.2019.01.019."&gt;https://doi.org/10.1016/j.ijinfomgt.2019.01.019.&lt;/a&gt; &lt;a class="footnote-backref" href="#fnref-3" title="Jump back to footnote 4 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-4"&gt;
&lt;p&gt;This blog recommends &lt;a href="https://automatetheboringstuff.com/2e/chapter0/"&gt;Automate the Boring Stuff&lt;/a&gt; and the interactive &lt;a href="https://cscircles.cemc.uwaterloo.ca/"&gt;Computer Science Circles&lt;/a&gt; or its video series &lt;a href="https://open.cs.uwaterloo.ca/python-from-scratch/"&gt;Python from Scratch&lt;/a&gt;. Earth Data Science has &lt;a href="https://steviepoppe.net/blog/2020/04/a-quick-guide-to-data-mining-textual-analysis-of-japanese-twitter/earthdatascience.org/courses/use-data-open-source-python/"&gt;great&lt;/a&gt; &lt;a href="https://www.earthdatascience.org/courses/earth-analytics-python/"&gt;tutorials&lt;/a&gt; as well. &lt;a class="footnote-backref" href="#fnref-4" title="Jump back to footnote 5 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-5"&gt;
&lt;p&gt;PATH is an environmental variable; doing this will allow us to run the Python compiler from command line without having to manually locate its executable. &lt;a class="footnote-backref" href="#fnref-5" title="Jump back to footnote 6 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-6"&gt;
&lt;p&gt;This tutorial was written with PC users in mind but won’t differ that much for other platforms. &lt;a class="footnote-backref" href="#fnref-6" title="Jump back to footnote 7 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-7"&gt;
&lt;p&gt;Or, I mean, whatever method you personally prefer. ¯\_(ツ)_/¯. &lt;a class="footnote-backref" href="#fnref-7" title="Jump back to footnote 8 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-8"&gt;
&lt;p&gt;If you get a message that &lt;strong&gt;pip&lt;/strong&gt; is not a recognized command, you will either have to &lt;a href="https://pip.pypa.io/en/stable/installing/"&gt;manually install pip&lt;/a&gt; or &lt;a href="https://appuals.com/fix-pip-is-not-recognized-as-an-internal-or-external-command/"&gt;add the path&lt;/a&gt; of your existing pip installation to your PATH variable. &lt;a class="footnote-backref" href="#fnref-8" title="Jump back to footnote 9 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-9"&gt;
&lt;p&gt;I personally use &lt;a href="https://www.sublimetext.com/3"&gt;Sublime Text 3&lt;/a&gt; and &lt;a href="https://atom.io/"&gt;Atom&lt;/a&gt; looks pretty great as well, but for the sake our tutorial, even notepad is sufficient &lt;a class="footnote-backref" href="#fnref-9" title="Jump back to footnote 10 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-10"&gt;
&lt;p&gt;A standard for cross-platform changing of data. Data and its meta-data are represented by key-value pairs: e.g. &lt;code class="highlight"&gt;&lt;span class="err"&gt;“&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nt"&gt;"first_name"&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"Stevie"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nt"&gt;"last_name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"Poppe"&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="err"&gt;”&lt;/span&gt;&lt;/code&gt;. &lt;a class="footnote-backref" href="#fnref-10" title="Jump back to footnote 11 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-11"&gt;
&lt;p&gt;Technically, this will return a file of comma-separated JSON objects, which is not &lt;em&gt;100%&lt;/em&gt; compliant but works either way and is less memory intensive than creating a massive JSON array, especially with the Streaming API. &lt;a class="footnote-backref" href="#fnref-11" title="Jump back to footnote 12 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-12"&gt;
&lt;p&gt;Moreover, optionally adding &lt;code&gt;b&lt;/code&gt; as part of the access mode argument in the &lt;code&gt;open&lt;/code&gt; class indicates that the script should write in binary mode as opposite to text mode, which is uncommon in such scripts, but decodes already escaped Unicode characters. In this case, it is necessary to encode our JSON dump to UTF8 → by calling the method &lt;code class="highlight"&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;encode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"utf8"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;/code&gt;. &lt;a class="footnote-backref" href="#fnref-12" title="Jump back to footnote 13 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-13"&gt;
&lt;p&gt;The only other option to access historical tweets of someone’s timeline beyond the initial 3200 tweets, is to resort to text scraping (e.g. using Javascript to simulate scrolling down and python to scrape the AJAX-loaded tweets). If there’s a demand for an in-depth tutorial I will add an appendix blog for that &lt;em&gt;eventually&lt;/em&gt;. &lt;a class="footnote-backref" href="#fnref-13" title="Jump back to footnote 14 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-14"&gt;
&lt;p&gt;Language uses BCP 47 language identifiers. Language of each tweet is machine-detected and not 100% accurate. &lt;a href="https://support.gnip.com/apis/powertrack2.0/rules.html#Operators"&gt;Read more&lt;/a&gt;. &lt;a class="footnote-backref" href="#fnref-14" title="Jump back to footnote 15 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-15"&gt;
&lt;p&gt;Again, the Twitter Stream API has several limitations in regards to the amount of tweets returned per second. Neither does it allow more than one established stream connection at one time. The above script will be sufficient to retrieve a sizable dataset but unless we have access to the paid full &lt;strong&gt;firehose&lt;/strong&gt;, there are no methods available to guarantee an exhaustive collection. &lt;a class="footnote-backref" href="#fnref-15" title="Jump back to footnote 16 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-16"&gt;
&lt;p&gt;CSV is another open data exchange format for storing records of data, with fields separated by a comma. It might be easier to visualize the format as a kind of Excel spreadsheet, and indeed, spreadsheet applications such as OpenLibre or Excel 2019 offer quite strong integration of the CSV format. &lt;a class="footnote-backref" href="#fnref-16" title="Jump back to footnote 17 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-17"&gt;
&lt;p&gt;Running this script on a dataset of tweets by a single account will produce a lot of unnecessarily repeated user data, for example. &lt;a class="footnote-backref" href="#fnref-17" title="Jump back to footnote 18 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-18"&gt;
&lt;p&gt;Even then, Excel has &lt;a href="https://answers.microsoft.com/en-us/msoffice/forum/all/numbers-in-csv-file-longer-then-15-digit-are-lost/8d779cc3-2f16-4bda-bbd0-9c4edcf2549b"&gt;some issues&lt;/a&gt; with importing (CSV) files that contain long numerals such as tweet IDs: only the first 15 significant digits are interpreted, displaying the remaining digits as 0. The best solution would be to thus select &lt;strong&gt;Text&lt;/strong&gt; for the relevant column formatting upon importing the CSV data. &lt;a class="footnote-backref" href="#fnref-18" title="Jump back to footnote 19 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-19"&gt;
&lt;p&gt;For two excellent and recent English language papers which utilize a form of quantitative analysis of Japanese tweets in order to strengthen their main arguments, see: &lt;strong&gt;Tamara Fuchs &amp;amp; Fabian Schäfer (2020)&lt;/strong&gt;: Normalizing misogyny: hate speech and verbal abuse of female politicians on Japanese Twitter, Japan Forum, &lt;a href="https://doi.org/10.1080/09555803.2019.1687564"&gt;DOI: 10.1080/09555803.2019.1687564&lt;/a&gt;, and &lt;strong&gt;Fabian Schäfer, Stefan Evert, and Philipp Heinrich (2017)&lt;/strong&gt;: Japan’s 2014 General Election: Political Bots, Right-Wing Internet Activism, and Prime Minister Shinzō Abe’s Hidden Nationalist Agenda, Big Data. 294-309. &lt;a href="https://doi.org/10.1089/big.2017.0049"&gt;DOI: 10.1089/big.2017.0049&lt;/a&gt;. &lt;a class="footnote-backref" href="#fnref-19" title="Jump back to footnote 20 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="Studies"></category><category term="Big Data"></category><category term="Digital Humanities"></category><category term="Japanese"></category><category term="Python"></category><category term="Tutorial"></category><category term="Twitter"></category></entry><entry><title>Travels: Two Weeks in Mainland China (Changsha, Yunnan, Xi'an)</title><link href="https://steviepoppe.net/blog/2019/09/travels-two-weeks-in-mainland-china-changsha-yunnan-xian/" rel="alternate"></link><published>2019-09-10T00:00:00+02:00</published><updated>2019-09-10T00:00:00+02:00</updated><author><name>Stevie Poppe</name></author><id>tag:steviepoppe.net,2019-09-10:/blog/2019/09/travels-two-weeks-in-mainland-china-changsha-yunnan-xian/</id><summary type="html">

&lt;p&gt;Friday, 16 August 2019, approximately 2PM and approximately 2 hours of sleep. Calling that day a somewhat surreal and emotionally taxing day, might, in retrospect, be putting it mildly. I had just spent the night proofreading my graduate thesis for the thousandth time, buried in anxiety that a minor typo in a footnote still buried somewhere on the tenth page of my appendix would destroy my chances of graduation. Within the timespan of barely an hour, I retrieved the print copies of said thesis at a local print shop, handed them in at my university, shared a cup of coffee with some of my classmates—by now, my good friends—at &lt;em&gt;our&lt;/em&gt; local coffeehouse hangout, checked my watch, and rushed towards the train-station. I had a flight to China to catch.&lt;/p&gt;
&lt;p&gt;Despite the unwarranted stress, my five years as both undergraduate and graduate student at KU Leuven—enrolling at this university must have been the single most transformative decision I have ever taken—were now definitely at an end. To ‘celebrate’, I would now partake in a graduation trip to mainland China, accompanied by some of my closest friends while living in Japan. Both literally and figuratively a graduation trip, this trip was simultaneously a finale to my student life at KU Leuven, to my period of living in Japan, and to my youth in general.&lt;/p&gt;
&lt;p&gt;A finale written by a director of slice-of-life situational comedy, that is; while contemplating all the above at the airport, a stoic voice announced that my flight was canceled.&lt;/p&gt;

&lt;h1 id="itinerary"&gt;&lt;a class="toclink" href="#itinerary"&gt;Itinerary &lt;i class="icon-plane small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;My initial plan was to take the plane to Hong Kong, spend the afternoon hanging out with a friend in Tsim Sha Tsui, and take a late evening train straight to Changsha, my initial destination.&lt;/p&gt;
&lt;p&gt;Fortunately, after my initial flight was canceled and making my connection in time seemed increasingly unlikely, I received a new itinerary to Changsha through connecting flights in the Netherlands and Shanghai. I would have to wait approximately seven more hours in the airport of Amsterdam, but I’ve had worse experiences and I could just take a nap after checking in.&lt;/p&gt;
&lt;p&gt;Or so I thought.&lt;/p&gt;
&lt;p&gt;A couple of hours afterwards I was informed that my flight to Shanghai was canceled. Instead, I was offered a direct flight to Changsha from Frankfurt, Germany the next day as well as a free stay in a nearby hotel. Oh well. Heading towards …&lt;/p&gt;</summary><content type="html">

&lt;p&gt;Friday, 16 August 2019, approximately 2PM and approximately 2 hours of sleep. Calling that day a somewhat surreal and emotionally taxing day, might, in retrospect, be putting it mildly. I had just spent the night proofreading my graduate thesis for the thousandth time, buried in anxiety that a minor typo in a footnote still buried somewhere on the tenth page of my appendix would destroy my chances of graduation. Within the timespan of barely an hour, I retrieved the print copies of said thesis at a local print shop, handed them in at my university, shared a cup of coffee with some of my classmates—by now, my good friends—at &lt;em&gt;our&lt;/em&gt; local coffeehouse hangout, checked my watch, and rushed towards the train-station. I had a flight to China to catch.&lt;/p&gt;
&lt;p&gt;Despite the unwarranted stress, my five years as both undergraduate and graduate student at KU Leuven—enrolling at this university must have been the single most transformative decision I have ever taken—were now definitely at an end. To ‘celebrate’, I would now partake in a graduation trip to mainland China, accompanied by some of my closest friends while living in Japan. Both literally and figuratively a graduation trip, this trip was simultaneously a finale to my student life at KU Leuven, to my period of living in Japan, and to my youth in general.&lt;/p&gt;
&lt;p&gt;A finale written by a director of slice-of-life situational comedy, that is; while contemplating all the above at the airport, a stoic voice announced that my flight was canceled.&lt;/p&gt;

&lt;h1 id="itinerary"&gt;&lt;a class="toclink" href="#itinerary"&gt;Itinerary &lt;i class="icon-plane small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;My initial plan was to take the plane to Hong Kong, spend the afternoon hanging out with a friend in Tsim Sha Tsui, and take a late evening train straight to Changsha, my initial destination.&lt;/p&gt;
&lt;p&gt;Fortunately, after my initial flight was canceled and making my connection in time seemed increasingly unlikely, I received a new itinerary to Changsha through connecting flights in the Netherlands and Shanghai. I would have to wait approximately seven more hours in the airport of Amsterdam, but I’ve had worse experiences and I could just take a nap after checking in.&lt;/p&gt;
&lt;p&gt;Or so I thought.&lt;/p&gt;
&lt;p&gt;A couple of hours afterwards I was informed that my flight to Shanghai was canceled. Instead, I was offered a direct flight to Changsha from Frankfurt, Germany the next day as well as a free stay in a nearby hotel. Oh well. Heading towards the exit, I even met some familiar faces. For several weeks during the end of June and early August, I assisted a team of Kyoto University scholars in digitizing Edo-era Ukiyo-e woodblock prints at the Brussels Royal Museum of Arts. Turns out they took a detour in the Netherlands and were heading to the United States from Amsterdam Airport.&lt;/p&gt;
&lt;p&gt;Although at the time of boarding it turned out there was some data mismatch with my rescheduled flight, it was, at least, sorted out in time to like, actually let me board. The flight to Changsha was quite pleasant, though, and I even ended up playing a couple of rounds of &lt;em&gt;Xiangqi&lt;/em&gt; (“Chinese chess”) with the guy sitting next to me, a Chinese student living in Germany.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-1" id="fnref-1" rel="footnote"&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;Immigration and passport control was no doubt by the far the most strict I have ever experienced, but generally speaking, there were no further hiccups and,&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-2" id="fnref-2" rel="footnote"&gt;3&lt;/a&gt;&lt;/sup&gt; after meeting up with friends at the airport our trip was good to go.&lt;/p&gt;
&lt;h2 id="changsha"&gt;&lt;a class="toclink" href="#changsha"&gt;Changsha (长沙市)&lt;/a&gt;&lt;/h2&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/49531766821/in/album-72157713097960397/" title="Sky"&gt;&lt;img alt="Sky" src="https://live.staticflickr.com/65535/49531766821_e9228a9d75_z.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;a class="center border" href="https://www.flickr.com/photos/147061735@N04/49531994597/in/album-72157713097960397/" title="Changsha"&gt;&lt;img alt="Changsha" src="https://live.staticflickr.com/65535/49531994597_210b7d8e6b_z.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Calling Changsha, the capital of Hunan (湖南) Province, a tourist-friendly destination is a bit of stretch, and for most foreign tourists, the city and its airport will serve primarily as layover. Changsha downtown in particular has a bit of an industrious, developing atmosphere.&lt;/p&gt;
&lt;p&gt;This was particularly obvious when our friend guided us to a local private cinema place; for a handful of yuen per person (the equivalent of about $2), we had access to a room with a large reclining sofa, HD beamer and a large selection of movies, which was quite comfortable where it not for a handful of cockroaches in our vicinity. The building itself had seen better days, and aside from one employee it felt as if we were the only people there.&lt;/p&gt;
&lt;p&gt;&lt;img alt="changsha" class="hwimportant border fcenter" src="https://steviepoppe.net/images/china/20190821_004130.jpg" title="changsha"/&gt;&lt;/p&gt;
&lt;p&gt;Or when we, deciding on Karaoke, found a nearby place in another worn down building—the guard at the front fast asleep—, took the elevator to one of the top floors and ended up at what appeared to be an intense fight. We heard glass break as soon as the elevator doors opened, and promptly entered a strange scene of drunk, shirtless men shouting and waving billiard cues around, someone hiding behind a counter, and dark smoke rising from the corner. For a second everyone stared at us, most likely wondering what a white, western tourist was doing at 2AM in a downtown karaoke, and we solemnly took that silence as a cue to make our departure.&lt;/p&gt;
&lt;p&gt;Such initial impressions aside (that wouldn’t apply to the usual foreign tourist either way), Changsha had its share of vibrant urban life with some lovely, scenic hot spots such as the surroundings of Hunan University (near a massive statue of Mao Zedong—Mao was born in a nearby village),&lt;/p&gt;
&lt;p&gt;Having lived in Japan, even in an international metropolis such as Tokyo, I was more accustomed to standing out and being either approached, avoided or stared at due to being foreign-looking. Even then, I was not prepared for how much elevated this would be during my trip and stay in Changsha in particular; I can’t recall how many times I have heard the terms 外国人 (wàiguórén) or 老外 (lǎowài), both more or less meaning foreigner, or was cautiously approached by children wanting to practice what they had learned at their English classes.&lt;/p&gt;
&lt;p&gt;Oh - and this counts for other regions in China as well -, I highly recommend looking into local food delivery and uber-style transport services; they are both reliant and cost-effective, and for non-locals a more ideal way of getting around rather than figuring out each local public transport system.&lt;/p&gt;
&lt;h2 id="yunnan"&gt;&lt;a class="toclink" href="#yunnan"&gt;Yunnan (云南省)&lt;/a&gt;&lt;/h2&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/49531266768/in/album-72157713097960397/" title="Ricefields"&gt;&lt;img alt="Ricefields" src="https://live.staticflickr.com/65535/49531266768_001329491b_z.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;a class="center border" href="https://www.flickr.com/photos/147061735@N04/49531263363/in/album-72157713097960397/" title="Industry"&gt;&lt;img alt="Industry" src="https://live.staticflickr.com/65535/49531263363_9b1b0650d2_z.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Our next destination was Kunming, the capital of Yunnan.&lt;/p&gt;
&lt;p&gt;One of the first things that hit on arrival me was the drastic difference in climate compared to Changsha. Although separated only by one province in-between, the temperature in Changsha was at that time of the year unbearably hot to the point we could barely engage in outdoor activities during day-time, whereas the high altitude of Kunming and Yunnan in general provided a very pleasant, temperate climate.&lt;/p&gt;
&lt;p&gt;Moreover, despite stereotypes of air pollution in China, the air around Kunming and the other places of Yunnan we visited was surprisingly clean, often with crystal clear blue skies befitting the time of the year.&lt;/p&gt;
&lt;h3 id="kunming"&gt;&lt;a class="toclink" href="#kunming"&gt;Kunming (昆明市)&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;img alt="kunming" class="hwimportant border fcenter" src="https://steviepoppe.net/images/china/20190824_200819.jpg" title="kunming"/&gt;&lt;/p&gt;
&lt;p&gt;Some of the central areas of Kunming were particularly vibrant, with a lovely youthful vibrant vibe. My friends introduced me to their university, famed for its focus on Chinese ethnic minorities, anthropology and cultural studies, as well as the surrounding parks, the nearby shopping districts Wenhua Alley and Qianju street, Daguan Park and Guandu Old Town.&lt;/p&gt;
&lt;p&gt;Because of the lovely weather, the park were filled with people enjoying a walk or performing music. Mahjong tables drew formidable crowds of elderly people commenting on in progress games, and other parts of the park drew rows of people stretching, dancing an exercising.&lt;/p&gt;
&lt;p&gt;The spicy dishes recommended to me in Changsha were right up my alley but the food I’ve eaten here was personally at an entirely different level. The mushroom hotpot was by far one of the best things I have ever eaten, and I’m not overreacting when I say I would definitely consider a detour back to Kunming next time I’m in China, purely for the food.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/49531766276/in/album-72157713097960397/" title="Kunming"&gt;&lt;img alt="Kunming" src="https://live.staticflickr.com/65535/49531766276_c495a542ab_z.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;a class="center border" href="https://www.flickr.com/photos/147061735@N04/49531267993/in/album-72157713097960397/" title="Kunming"&gt;&lt;img alt="Kunming" src="https://live.staticflickr.com/65535/49531267993_9792b80954_z.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;An interesting sight I would’ve liked to capture on photo was the juxtaposition of a young, fashionable girl, taking a selfie in front of a historical Socialist-era statue celebrating the working class, situated right in front of feudal-era Qing dynasty architecture: a fascinating micro-representation of a layered society with clear elements of three distinctly different modes of production.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/49531993912/in/album-72157713097960397/" title="One step forward"&gt;&lt;img alt="One step forward" src="https://live.staticflickr.com/65535/49531993912_56c5aa55eb_z.jpg" style="height:500px;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;『向前一小步、文明一大步』 - &lt;del&gt;Neil Armstrong&lt;/del&gt; Famous Toilet Proverb&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;On a side note, this plate found around public restrooms was quite comical; translating to something akin to “One small step for man, one giant leap forward towards civilization”, a polite way of asking men to stand closer to the urinals.&lt;/p&gt;
&lt;h3 id="lijiang"&gt;&lt;a class="toclink" href="#lijiang"&gt;Lijiang (丽江市)&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Lijiang, the nearby Dali and Shangri-la are historical towns near the border of Sichuan and Tibet, popular among in-land tourists for the natural beauty of its surrounding mountains and the architectural traditions of the various ethnic minorities inhabiting these regions.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/49531266533/in/album-72157713097960397/" title="Lijiang"&gt;&lt;img alt="Lijiang" src="https://live.staticflickr.com/65535/49531266533_32f0eaf419_z.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;a class="center border" href="https://www.flickr.com/photos/147061735@N04/49531991062/in/album-72157713097960397/" title="Lijiang"&gt;&lt;img alt="Lijiang" src="https://live.staticflickr.com/65535/49531991062_c08ed9a320_z.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Without exaggeration the old town of Lijiang and the hotel I was staying at are among the most beautiful places I have visited in my life. The historical center is particularly lively even in the late evening, with daily bonfires and dancing; but the nearby Black Dragon Pool made for a perfect breathing space. One particular height of our stay was an afternoon of horse riding along the Jade Dragon Snow Mountain.&lt;/p&gt;
&lt;p&gt;One thing I must admit is that the high altitude of the region takes a while to get used to and is fairly draining; leaving me absolutely exhausted after a full day out and a long climb up back to the hotel.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/49531768256/in/album-72157713097960397/" title="Lijiang"&gt;&lt;img alt="Lijiang" src="https://live.staticflickr.com/65535/49531768256_c2ee5b07c7_z.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;a class="center border" href="https://www.flickr.com/photos/147061735@N04/49531265048/in/album-72157713097960397/" title="Lijiang"&gt;&lt;img alt="Lijiang" src="https://live.staticflickr.com/65535/49531265048_9a45da7355_z.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Upon arrival at the airport we were informed that our flight would be delayed by about five hours. While several people were noticeably aggravated, others took the news more calmly: one guy took out his jump rope and started exercising in the middle of the hallway. Another guy, a local musician practicing acoustic guitar, upon noticing me walked over and asked me to join him. To be fair, it was clear he was more interested in taking pictures together to post on social media, but it was a nice way of passing and he helped me out afterwards by sharing his 4G hot spot when I needed to make a phone call (passengers would receive a small financial compensation for the delay, which was to be deposited on a personal WePay account, which I as a foreigner did not have).&lt;/p&gt;
&lt;p&gt;Because of our late arrival in Xi’an I was unable to leave the airport and find a place to stay so I used part of the financial compensation to rent a small cabin with a couch at the airport instead.&lt;/p&gt;
&lt;h3 id="xian-shaanxi"&gt;&lt;a class="toclink" href="#xian-shaanxi"&gt;Xi’an, Shaanxi (西安市，陕西省)&lt;/a&gt;&lt;/h3&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/49531990632/" title="Xi’an"&gt;&lt;img alt="Xi’an" src="https://live.staticflickr.com/65535/49531990632_7b826d4fa4_z.jpg" style="height:480px; width:500px;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Xi’an, the capital of Shaanxi Province, is famed worldwide for its rich history as the historic capital of China for about a millennium of its existence, and for its international importance in the era of the Silk Road. Of particular fame are the Terracotta Warriors, an in-progress excavation site containing an impressive army of around 2,000 incredibly detailed and life-like statues of armed soldiers and horses. The site has become one of China’s major tourist attractions and a main staple of guided tours throughout the country. Aside from a couple of exceptions in Lijiang, it was my first time being confronted with other western tourists.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/49531264923/in/album-72157713097960397/" title="Xi’an"&gt;&lt;img alt="Xi’an" src="https://live.staticflickr.com/65535/49531264923_312da1bb26_z.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;a class="center border" href="https://www.flickr.com/photos/147061735@N04/49531765246/in/album-72157713097960397/" title="Xi’an"&gt;&lt;img alt="Xi’an" src="https://live.staticflickr.com/65535/49531765246_4a7d5e0d5c_z.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Biangbiang noodles, a famous regional dish of Shaanxi Province, has some notoriety among learners of Chinese characters due to its highly complex character with 58 strokes, that as of 2019 has not yet been encoded in Unicode. Although none of my Chinese friends actually like Biangbiang noodles, it’s something I’ve been wanting to try for a while, and thus entered one of plenty of local eateries that decorated their storefront with those characters.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/49531262603/" title="biang biang noodles"&gt;&lt;img alt="biang biang noodles" src="https://live.staticflickr.com/65535/49531262603_788ca80cbc_z.jpg" style="height:280px; width:500px;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;The noodles itself were interesting; an appearance I hadn’t encountered before. A highly affordable and decent meal, although I’m not particularly fond of bok choy. More amusing was my communication with the waitress. Because I was by myself at the time and could not understand what she was saying, the waitress started typing something on what I assumed was an automatic translation app on her smartphone. What I was shown, however, was a text editor with the sentences she wrote down in Chinese characters as-is. Based on my limited study of the language and recognition of characters I recognized as a Japanese speaker, we were able to have a short conversation. Still not sure if she thought it normal for western foreigners to read Chinese, or if she just assumed I might have been a foreign student starting out.&lt;/p&gt;
&lt;p&gt;My flight back included a final day in Hong Kong. Since I was unable to meet my friend there after a failed first attempt, now would have been a good opportunity. Upon arrival in Hong Kong the afternoon a day ahead of departure, the ongoing Hong Kong protests reached new heights that left either of us unable to meet each other, with clusters of protesting right around the airport. Moreover, my credit card was for an unforeseen reason blocked and I could not withdraw cash from an ATM, leaving me once again stranded in in airport, forced to spend the night there.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/49531990557/in/album-72157713097960397/" title="Boring boarding pass"&gt;&lt;img alt="Boring boarding pass" src="https://live.staticflickr.com/65535/49531990557_e71749d844_z.jpg" style="height:500px;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;At least my flight wasn’t canceled this time, though. ¯\(ツ)_/¯&lt;/p&gt;
&lt;h1 id="music"&gt;&lt;a class="toclink" href="#music"&gt;Music &lt;i class="icon-music small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;While traveling, I make a habit out of listening to local radio stations or asking recommendations to people I meet in hostels or bars, as my own form of personal souvenir. This time I have grown particularly fond of folk musician Hongyu Chen (陈鸿宇) and the singer-songwriter Hua Chenyu, whose experimental composition Cancer gives me goosebumps regardless how many times I listen to it.&lt;/p&gt;
&lt;p&gt;&lt;span class="videobox"&gt;
&lt;iframe allowfullscreen="" frameborder="0" height="390" mozallowfullscreen="" src="https://www.youtube.com/embed/1RVX1JrwfBw" webkitallowfullscreen="" width="640"&gt;
&lt;/iframe&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="videobox"&gt;
&lt;iframe allowfullscreen="" frameborder="0" height="390" mozallowfullscreen="" src="https://www.youtube.com/embed/hGucII1kEo8" webkitallowfullscreen="" width="640"&gt;
&lt;/iframe&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;h1 id="conclusion"&gt;&lt;a class="toclink" href="#conclusion"&gt;Conclusion &lt;i class="icon-smile small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Not so much a real tourist trip through China as a short and wholesome visit to some people dear to me, I nevertheless thoroughly enjoyed my stay and was glad to experience firsthand some elements of daily life in a nation that is due to various socio-political an economical reasons still highly prone to a wide variety of negative stereotypes and misconceptions abroad. Thanks to my limited knowledge of the Chinese language, as well as the assistance of my Chinese friends, I was generally able to get by quite well as well. Due to a rise in local tourism, accessibility has reportedly increased immensely, but I must admit that for foreign travelers, especially those traveling alone and lacking Chinese language skills, going “off the beaten path” will be quite a challenge and require sufficient planning ahead.&lt;/p&gt;
&lt;p&gt;Obviously there are contentious political elements that could be discussed concerning China. This blog post is however not the appropriate space for that; my trip there was intended primarily as a graduation trip in the company of some of my closest friends during my period as exchange student in Japan, and that I, despite the hiccups, enjoyed immensely. I definitely look forward to return for a longer period of time, China is immense with a highly diverse ecosystem, natural beauty and rich history that I would love to further explore, perhaps next time while taking on the role of a more traditional tourist.&lt;/p&gt;
&lt;h1 id="gallery-gallery-changsha-kunming-lijiang-xian"&gt;&lt;a class="toclink" href="#gallery-gallery-changsha-kunming-lijiang-xian"&gt;Gallery Gallery Changsha | Kunming | Lijiang | Xi’an &lt;i class="icon-camera-retro small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;style&gt;.embed-container { position: relative; padding-bottom: 56.25%; padding-top: 30px; height: 0; overflow: hidden; max-width: 100%; height: auto; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }&lt;/style&gt;
&lt;div class="embed-container"&gt;&lt;iframe allowfullscreen="" frameborder="0" mozallowfullscreen="" msallowfullscreen="" oallowfullscreen="" src="https://www.flickr.com/photos/147061735@N04/sets/72157713097960397/player" webkitallowfullscreen=""&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;div class="footnote"&gt;
&lt;hr/&gt;
&lt;ol&gt;
&lt;li id="fn-footnote"&gt;
&lt;p&gt;Lijiang by Stevie Poppe (&lt;a href="https://flic.kr/p/2fMA1vY"&gt;https://flic.kr/p/2fMA1vY&lt;/a&gt; - CC BY-SA 2.0) &lt;a class="footnote-backref" href="#fnref-footnote" title="Jump back to footnote 1 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-1"&gt;
&lt;p&gt;Or, well, get utterly destroyed, that is. I’ve won the occasional round playing with my friends in Japan, but in hindsight I wonder if they let me win out of pity. &lt;a class="footnote-backref" href="#fnref-1" title="Jump back to footnote 2 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-2"&gt;
&lt;p&gt;By the way, the process of applying for a single entry 30-day tourist visa was surprisingly easy as well, given that you have a local friend able to vouch for you through an invitation letter (there are plenty of templates for that online). I did make the mistake of providing only the front-side of my friend’s passport, which could not be accepted. While trying to submit my application, I couldn’t reach my friend for a new scan, but fortunately another friend saved my skin by skipping class early and providing a complete invitation letter—we communicate in Japanese so that was a bit of a weird phone call in the Chinese embassy, though. &lt;a class="footnote-backref" href="#fnref-2" title="Jump back to footnote 3 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="Personal"></category><category term="Travels"></category><category term="China"></category></entry><entry><title>Resources</title><link href="https://steviepoppe.net/blog/2019/09/resources/" rel="alternate"></link><published>2019-09-04T00:00:00+02:00</published><updated>2019-09-04T00:00:00+02:00</updated><author><name>Stevie Poppe</name></author><id>tag:steviepoppe.net,2019-09-04:/blog/2019/09/resources/</id><summary type="html">
&lt;p&gt;This page contains links and files that have proven to be particularly useful for myself and might be of use for those with similar interests. I’ll update this spot as I encounter more tools or pages I feel are worthy of mention.&lt;/p&gt;
&lt;h1 id="useful-links"&gt;&lt;a class="toclink" href="#useful-links"&gt;Useful Links&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="general"&gt;&lt;a class="toclink" href="#general"&gt;General&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="http://ankisrs.net/"&gt;Anki&lt;/a&gt;&lt;/strong&gt;: Free, open-source, multi-platform flashcard application with powerful SRS&lt;sup&gt;&lt;/sup&gt; algorithm. Especially vital for language acquisition and probably the single most important (digital) tool for efficient memorization.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="language"&gt;&lt;a class="toclink" href="#language"&gt;Language&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="japanese"&gt;&lt;a class="toclink" href="#japanese"&gt;Japanese&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://foosoft.net/projects/yomichan/"&gt;Yomichan&lt;/a&gt;&lt;/strong&gt;: a Firefox and Chrome pop-up dictionary and a digital-minded Japanese learner’s best friend. Yomichan allows additional audio playback and full Anki integration. I’ve written a &lt;a href="https://steviepoppe.net/blog/2019/04/a-quick-guide-on-using-anki-5-an-efficient-vocab-mining-set-up-with-anki-and-rikaisama-yomichan/"&gt;blog&lt;/a&gt; on how to do this. &lt;strong&gt;&lt;a href="https://steviepoppe.net/blog/2016/09/a-quick-guide-on-using-anki-2-an-efficient-vocab-mining-set-up-with-anki-and-rikaisama/"&gt;Rikaisama&lt;/a&gt;&lt;/strong&gt;, although no longer by Firefox, also continues to be useful for mass-generating cards while reading HTML-formatted e-books.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="http://animelon.com/"&gt;Animelon&lt;/a&gt;&lt;/strong&gt;: for all you ‘learn Japanese through Anime’ kids out there! Reminiscent of the classic &lt;em&gt;&lt;a href="https://www.erin.ne.jp/en/"&gt;Erin’s Challenge&lt;/a&gt;&lt;/em&gt; videos: watch various popular anime with Japanese subtitles and integrated dictionary. Works in combination with Yomichan or Rikaisama as well.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="http://tangorin.com/kanji/"&gt;Tangorin&lt;/a&gt;&lt;/strong&gt;: my favorite online Japanese dictionary with tons of example sentences for each definition, and an excellent Kanji dictionary as well. &lt;a href="http://dictionary.goo.ne.jp"&gt;Goo&lt;/a&gt;, &lt;a href="http://www.weblio.jp"&gt;Weblio&lt;/a&gt; and &lt;a href="http://www.sanseido.net"&gt;Sanseido&lt;/a&gt; provide good alternatives.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="http://japansnederlandswoordenboek.org/index.php/Hoofdpagina"&gt;Waran Jiten&lt;/a&gt;&lt;/strong&gt;: a Japanese-Dutch dictionary courtesy of Leuven University. Has a dutch Rikai addon.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://sourceforge.net/directory/home-education/edlanguage/os:windows/?q=Japanese"&gt;Sourceforge&lt;/a&gt;&lt;/strong&gt;: contains a wide variety of software developed by fellow Japanese learners. Some, such as &lt;em&gt;&lt;a href="https://sourceforge.net/projects/jnovelformatter/?source=directory"&gt;Jnovelformatter&lt;/a&gt;&lt;/em&gt;, &lt;em&gt;&lt;a href="https://sourceforge.net/projects/japanesetextana/?source=directory"&gt;Japanese Text Analysis Tool&lt;/a&gt;&lt;/em&gt; or &lt;em&gt;&lt;a href="https://sourceforge.net/projects/ocrmangareaderforandroid/"&gt;OCR Manga Reader&lt;/a&gt;&lt;/em&gt; are particularly noteworthy, others not so much.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="http://japanologie.arts.kuleuven.be/"&gt;KULeuven Japanology&lt;/a&gt;&lt;/strong&gt;: the Leuven University Japan Studies homepage. &lt;i class="icon-smile"&gt;&lt;/i&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="korean"&gt;&lt;a class="toclink" href="#korean"&gt;Korean&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="http://www.toktogi.com/"&gt;Toktogi&lt;/a&gt;&lt;/strong&gt;: a Korean-English pop-up dictionary similar to yomichan, available both for Firefox and Chrome. It’s still a work-in-progress and not as polished as Yomichan, but very usable nonetheless.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="http://endic.naver.com/?sLn=en"&gt;Naver Dictionary&lt;/a&gt;&lt;/strong&gt;: Naver Corporation, the highly popular South Korean web-hub, has a fairly complete English-Korean dictionary as well as an Android application (requires internet).&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="sanskrit"&gt;&lt;a class="toclink" href="#sanskrit"&gt;Sanskrit&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="http://spokensanskrit.de/"&gt;spokensanskrit&lt;/a&gt;&lt;/strong&gt;: the only decent online Sanskrit dictionary out there.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="http://www.lexilogos.com/keyboard/sanskrit_devanagari.htm"&gt;Lexilogos&lt;/a&gt;&lt;/strong&gt;: multilingual web keyboard that beats learning to type &lt;em&gt;devanagari&lt;/em&gt; on a latin-script keyboard.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr/&gt;
&lt;h1 id="files"&gt;&lt;a class="toclink" href="#files"&gt;Files&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="anki"&gt;&lt;a class="toclink" href="#anki"&gt;Anki&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I use Anki to complement my other study methods for nearly all my classes. These are a bunch of Anki-sets I made I feel are stand-alone enough to be useful to new students of these classes as well.&lt;/p&gt;
&lt;hr/&gt;
&lt;h3 id="inleiding-tot-de-europese-literatuur-na-1750"&gt;&lt;a class="toclink" href="#inleiding-tot-de-europese-literatuur-na-1750"&gt;Inleiding tot de Europese Literatuur na 1750&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Download&lt;/strong&gt;: &lt;a href="https://www.dropbox.com/s/yf2hdqxyqobqr60/Europese_Literatuur.apkg?dl=0"&gt;Europese Literatuur &lt;i class="icon-download-alt"&gt;&lt;/i&gt;&lt;/a&gt;  (±26MB)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A full set to accompany the textbook ‘&lt;em&gt;Literaire Verbeelding 2&lt;/em&gt;’:&lt;sup&gt;&lt;/sup&gt; contains important dates and summaries of all artists and their discussed works (in Dutch …&lt;/p&gt;</summary><content type="html">
&lt;p&gt;This page contains links and files that have proven to be particularly useful for myself and might be of use for those with similar interests. I’ll update this spot as I encounter more tools or pages I feel are worthy of mention.&lt;/p&gt;


&lt;h1 id="useful-links"&gt;&lt;a class="toclink" href="#useful-links"&gt;Useful Links&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="general"&gt;&lt;a class="toclink" href="#general"&gt;General&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="http://ankisrs.net/"&gt;Anki&lt;/a&gt;&lt;/strong&gt;: Free, open-source, multi-platform flashcard application with powerful SRS&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-1" id="fnref-1" rel="footnote"&gt;2&lt;/a&gt;&lt;/sup&gt; algorithm. Especially vital for language acquisition and probably the single most important (digital) tool for efficient memorization.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="language"&gt;&lt;a class="toclink" href="#language"&gt;Language&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="japanese"&gt;&lt;a class="toclink" href="#japanese"&gt;Japanese&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://foosoft.net/projects/yomichan/"&gt;Yomichan&lt;/a&gt;&lt;/strong&gt;: a Firefox and Chrome pop-up dictionary and a digital-minded Japanese learner’s best friend. Yomichan allows additional audio playback and full Anki integration. I’ve written a &lt;a href="https://steviepoppe.net/blog/2019/04/a-quick-guide-on-using-anki-5-an-efficient-vocab-mining-set-up-with-anki-and-rikaisama-yomichan/"&gt;blog&lt;/a&gt; on how to do this. &lt;strong&gt;&lt;a href="https://steviepoppe.net/blog/2016/09/a-quick-guide-on-using-anki-2-an-efficient-vocab-mining-set-up-with-anki-and-rikaisama/"&gt;Rikaisama&lt;/a&gt;&lt;/strong&gt;, although no longer by Firefox, also continues to be useful for mass-generating cards while reading HTML-formatted e-books.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="http://animelon.com/"&gt;Animelon&lt;/a&gt;&lt;/strong&gt;: for all you ‘learn Japanese through Anime’ kids out there! Reminiscent of the classic &lt;em&gt;&lt;a href="https://www.erin.ne.jp/en/"&gt;Erin’s Challenge&lt;/a&gt;&lt;/em&gt; videos: watch various popular anime with Japanese subtitles and integrated dictionary. Works in combination with Yomichan or Rikaisama as well.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="http://tangorin.com/kanji/"&gt;Tangorin&lt;/a&gt;&lt;/strong&gt;: my favorite online Japanese dictionary with tons of example sentences for each definition, and an excellent Kanji dictionary as well. &lt;a href="http://dictionary.goo.ne.jp"&gt;Goo&lt;/a&gt;, &lt;a href="http://www.weblio.jp"&gt;Weblio&lt;/a&gt; and &lt;a href="http://www.sanseido.net"&gt;Sanseido&lt;/a&gt; provide good alternatives.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="http://japansnederlandswoordenboek.org/index.php/Hoofdpagina"&gt;Waran Jiten&lt;/a&gt;&lt;/strong&gt;: a Japanese-Dutch dictionary courtesy of Leuven University. Has a dutch Rikai addon.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://sourceforge.net/directory/home-education/edlanguage/os:windows/?q=Japanese"&gt;Sourceforge&lt;/a&gt;&lt;/strong&gt;: contains a wide variety of software developed by fellow Japanese learners. Some, such as &lt;em&gt;&lt;a href="https://sourceforge.net/projects/jnovelformatter/?source=directory"&gt;Jnovelformatter&lt;/a&gt;&lt;/em&gt;, &lt;em&gt;&lt;a href="https://sourceforge.net/projects/japanesetextana/?source=directory"&gt;Japanese Text Analysis Tool&lt;/a&gt;&lt;/em&gt; or &lt;em&gt;&lt;a href="https://sourceforge.net/projects/ocrmangareaderforandroid/"&gt;OCR Manga Reader&lt;/a&gt;&lt;/em&gt; are particularly noteworthy, others not so much.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="http://japanologie.arts.kuleuven.be/"&gt;KULeuven Japanology&lt;/a&gt;&lt;/strong&gt;: the Leuven University Japan Studies homepage. &lt;i class="icon-smile"&gt;&lt;/i&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="korean"&gt;&lt;a class="toclink" href="#korean"&gt;Korean&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="http://www.toktogi.com/"&gt;Toktogi&lt;/a&gt;&lt;/strong&gt;: a Korean-English pop-up dictionary similar to yomichan, available both for Firefox and Chrome. It’s still a work-in-progress and not as polished as Yomichan, but very usable nonetheless.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="http://endic.naver.com/?sLn=en"&gt;Naver Dictionary&lt;/a&gt;&lt;/strong&gt;: Naver Corporation, the highly popular South Korean web-hub, has a fairly complete English-Korean dictionary as well as an Android application (requires internet).&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="sanskrit"&gt;&lt;a class="toclink" href="#sanskrit"&gt;Sanskrit&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="http://spokensanskrit.de/"&gt;spokensanskrit&lt;/a&gt;&lt;/strong&gt;: the only decent online Sanskrit dictionary out there.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="http://www.lexilogos.com/keyboard/sanskrit_devanagari.htm"&gt;Lexilogos&lt;/a&gt;&lt;/strong&gt;: multilingual web keyboard that beats learning to type &lt;em&gt;devanagari&lt;/em&gt; on a latin-script keyboard.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr/&gt;
&lt;h1 id="files"&gt;&lt;a class="toclink" href="#files"&gt;Files&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="anki"&gt;&lt;a class="toclink" href="#anki"&gt;Anki&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I use Anki to complement my other study methods for nearly all my classes. These are a bunch of Anki-sets I made I feel are stand-alone enough to be useful to new students of these classes as well.&lt;/p&gt;
&lt;hr/&gt;
&lt;h3 id="inleiding-tot-de-europese-literatuur-na-1750"&gt;&lt;a class="toclink" href="#inleiding-tot-de-europese-literatuur-na-1750"&gt;Inleiding tot de Europese Literatuur na 1750&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Download&lt;/strong&gt;: &lt;a href="https://www.dropbox.com/s/yf2hdqxyqobqr60/Europese_Literatuur.apkg?dl=0"&gt;Europese Literatuur &lt;i class="icon-download-alt"&gt;&lt;/i&gt;&lt;/a&gt;  (±26MB)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A full set to accompany the textbook ‘&lt;em&gt;Literaire Verbeelding 2&lt;/em&gt;’:&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-3" id="fnref-3" rel="footnote"&gt;3&lt;/a&gt;&lt;/sup&gt; contains important dates and summaries of all artists and their discussed works (in Dutch), sorted by period (from Romanticism till Post-modernism).&lt;/p&gt;
&lt;p&gt;&lt;img alt="anki-lit-s" class="hwimportant fborder fcenter" src="https://steviepoppe.net/images/anki-lit-s.jpg" title="anki-lit-s"/&gt;&lt;/p&gt;
&lt;h3 id="kanji-1-kanji-2"&gt;&lt;a class="toclink" href="#kanji-1-kanji-2"&gt;Kanji 1 &amp;amp; Kanji 2&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Download&lt;/strong&gt;: &lt;a href="https://www.dropbox.com/s/83w2rsrack9ohs0/Kanji_1.apkg?dl=0"&gt;Kanji 1 &lt;i class="icon-download-alt"&gt;&lt;/i&gt;&lt;/a&gt; &lt;a href="https://www.dropbox.com/s/2885777i70qfr15/Kanji_woordenschat_1.apkg?dl=0"&gt;Kanji Vocab 1 &lt;i class="icon-download-alt"&gt;&lt;/i&gt;&lt;/a&gt; (±9MB each)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Two sets on the compulsory Kanji and vocabulary as seen in the Kanji classes in the first year of Japan Studies at KU Leuven. They contain stroke order, definitions, and different readings, both in recognition and reproduction form. They use the &lt;em&gt;KanjiStrokeOrders&lt;/em&gt;&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-4" id="fnref-4" rel="footnote"&gt;4&lt;/a&gt;&lt;/sup&gt; font and display hidden &lt;em&gt;hiragana&lt;/em&gt; on touch/hover. I recommend doing these on a hand-held device to practice writing and stroke order using the touchscreen.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Download&lt;/strong&gt;: &lt;a href="https://www.dropbox.com/s/3hvl2unaghb375l/Kanji_2.apkg?dl=0"&gt;Kanji 2 &lt;i class="icon-download-alt"&gt;&lt;/i&gt;&lt;/a&gt; &lt;a href="https://www.dropbox.com/s/x4dlldq95x3x8rj/Kanji_woordenschat_2.apkg?dl=0"&gt;Kanji Vocab 2 &lt;i class="icon-download-alt"&gt;&lt;/i&gt;&lt;/a&gt; (±10MB each)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Similar to the previous decks, two sets on the compulsory kanji and vocabulary for Kanji/goi classes in the second year of Japanese Studies, as seen in our handbook&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-5" id="fnref-5" rel="footnote"&gt;5&lt;/a&gt;&lt;/sup&gt; lessons 1 - 20. They’re tagged by chapter and contain respectively stroke order, radicals, definitions, and different readings for the Kanji set, and example sentences in &lt;em&gt;cloze deletion&lt;/em&gt;&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-6" id="fnref-6" rel="footnote"&gt;6&lt;/a&gt;&lt;/sup&gt; for vocab, both in recognition and reproduction form.&lt;/p&gt;
&lt;p alt="twitter" class="hwimportant center"&gt;
&lt;img alt="Twitter" class="fborder" src="https://steviepoppe.net/images/anki-kanji-s.jpg" style="width: 177px !important;"/&gt;
&lt;img alt="Twitter" class="fborder" src="https://steviepoppe.net/images/anki-kanjivoc-s.jpg" style="width: 226px !important;"/&gt;
&lt;/p&gt;
&lt;h3 id="japanese-geography"&gt;&lt;a class="toclink" href="#japanese-geography"&gt;Japanese Geography&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Download&lt;/strong&gt;: &lt;a href="https://www.dropbox.com/s/95bkr3ce4iqkhxi/Europese_literatuur.apkg?dl=0"&gt;Japanese Geography &lt;i class="icon-download-alt"&gt;&lt;/i&gt;&lt;/a&gt;  (±10MB)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A modified &lt;a href="https://ankiweb.net/shared/info/856922372"&gt;Prefectures in Japan&lt;/a&gt; set, includes all Japanese regions and prefectures written in Kanji with &lt;em&gt;furigana&lt;/em&gt;, and some extra maps.&lt;/p&gt;
&lt;p&gt;&lt;img alt="anki-geography-s" class="hwimportant fborder fcenter" src="https://steviepoppe.net/images/anki-geography-s.jpg" title="anki-geography-s"/&gt;&lt;/p&gt;
&lt;h3 id="sanskrit_1"&gt;&lt;a class="toclink" href="#sanskrit_1"&gt;Sanskrit&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Download&lt;/strong&gt;: &lt;a href="https://www.dropbox.com/s/s7j93uhe6ozn7w8/Sanskrit.apkg?dl=0"&gt;Europese Literatuur &lt;i class="icon-download-alt"&gt;&lt;/i&gt;&lt;/a&gt;  (±5MB)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A full set to accompany the introductory Sanskrit language course. Includes an introduction to the Devanagari alphabet, a recap of the taught grammar points (such as different conjugations and Sandi rules), three-way cards (English/Sanskrit, Sanskrit/English and audio) of all the vocabulary as seen in class and several exercises.&lt;/p&gt;
&lt;h3 id="anki-plug-in-japanese-definitions-for-korean-vocabulary"&gt;&lt;a class="toclink" href="#anki-plug-in-japanese-definitions-for-korean-vocabulary"&gt;Anki Plug-in: Japanese Definitions for Korean Vocabulary&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Download&lt;/strong&gt;: &lt;a href="https://ankiweb.net/shared/info/553926167"&gt;Japanese Definitions for Korean Vocabulary &lt;i class="icon-download-alt"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;An Anki add-on, based on the &lt;a href="https://ankiweb.net/shared/info/1967553085"&gt;Sanseido Definitions&lt;/a&gt; add-on, for adding Japanese translations of Korean vocabulary. It’s primarily meant for Korean learners who’re proficient in, or simultaneously learning, Japanese. I wrote a &lt;a href="https://steviepoppe.net/blog/2016/10/anki-add-on-japanese-translations-for-korean-vocabulary/"&gt;small tutorial&lt;/a&gt; for those new to Anki plug-ins.&lt;/p&gt;
&lt;h3 id="anki-plug-in-remove-missing-audio-references"&gt;&lt;a class="toclink" href="#anki-plug-in-remove-missing-audio-references"&gt;Anki Plug-in: Remove Missing Audio References&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Download&lt;/strong&gt;: &lt;a href="https://ankiweb.net/shared/info/1328067109"&gt;Remove Missing Audio References &lt;i class="icon-download-alt"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;An Anki plug-in to be used in combination with a Rikaisama / Anki set-up as prescribed in &lt;a href="https://steviepoppe.net/blog/2016/09/a-quick-guide-on-using-anki-2-an-efficient-vocab-mining-set-up-with-anki-and-rikaisama/"&gt;this blog&lt;/a&gt;. Replaces or removes references to missing audio-files.&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr/&gt;
&lt;ol&gt;
&lt;li id="fn-footnote"&gt;
&lt;p&gt;Image taken from the 2012 Japanese animated film Wolf Children by Mamoru Hosoda, used under Fair Use doctrine. &lt;a class="footnote-backref" href="#fnref-footnote" title="Jump back to footnote 1 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-1"&gt;
&lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/Spaced_repetition"&gt;Spaced Repetition System&lt;/a&gt;: a method of studying optimally by repeating items over gradually increasing periods. Cards are calculated to appear shortly before the item slips one’s mind. &lt;a class="footnote-backref" href="#fnref-1" title="Jump back to footnote 2 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-3"&gt;
&lt;p&gt;&lt;strong&gt;Ghesquiere, R. 2006&lt;/strong&gt;. Literaire verbeelding 2: een geschiedenis van de Europese literatuur en cultuur vanaf 1750. Leuven: Acco &lt;a class="footnote-backref" href="#fnref-3" title="Jump back to footnote 3 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-4"&gt;
&lt;p&gt;Available for free under a BSD style license at &lt;a href="http://www.nihilist.org.uk/"&gt;http://www.nihilist.org.uk/&lt;/a&gt;. &lt;a class="footnote-backref" href="#fnref-4" title="Jump back to footnote 4 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-5"&gt;
&lt;p&gt;Japanese for International/Graduate Students vol.5: Kanji and Vocabulary&lt;span lang="ja"&gt;（稲村真理子. 2007. 大学・大学院留学生の日本語. 5(漢字・語彙編) 5(漢字・語彙編). 東京: アルク）&lt;/span&gt; &lt;a class="footnote-backref" href="#fnref-5" title="Jump back to footnote 5 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-6"&gt;
&lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/Cloze_test"&gt;cloze deletion test&lt;/a&gt;: an exercise in which one fills in portions of the text left blank, based on the context of the text. &lt;a class="footnote-backref" href="#fnref-6" title="Jump back to footnote 6 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="Studies"></category><category term="Anki"></category><category term="Tutorial"></category><category term="Japanese"></category><category term="Japan"></category><category term="Study"></category></entry><entry><title>Several tips for exchange students heading to Japan / Tokyo</title><link href="https://steviepoppe.net/blog/2019/05/several-tips-for-exchange-students-living-in-japan-tokyo/" rel="alternate"></link><published>2019-05-18T00:00:00+02:00</published><updated>2019-05-18T00:00:00+02:00</updated><author><name>Stevie Poppe</name></author><id>tag:steviepoppe.net,2019-05-18:/blog/2019/05/several-tips-for-exchange-students-living-in-japan-tokyo/</id><summary type="html">

&lt;p&gt;My home university’s student circle asked me for some tips for new exchange students coming to Japan and after living in Tokyo, Japan for over 18 months I learned some things that might be useful for future exchange students, often glanced over in similar lists. Although this list is a perpetual work-in-progress, I hope it can at least offer some concrete, directly applicable tips.&lt;/p&gt;

&lt;h1 id="shopping"&gt;&lt;a class="toclink" href="#shopping"&gt;Shopping&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="get-an-amazoncojp-prime-account"&gt;&lt;a class="toclink" href="#get-an-amazoncojp-prime-account"&gt;Get an Amazon.co.jp Prime account&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I’m reluctant for promoting a company with an employment situation as terrible as Amazon. Nevertheless, students are legible for a year-long trial of Amazon Prime Student which might be quite useful for exchange students on a budget. The prime reason to do so would be free expedited shipping, but some other benefits include streaming through Prime Video and free selection of Kindle novels. Personally, I found amazon.co.jp useful for difficult to find research material and access to some other second-hand sellers.&lt;/p&gt;
&lt;p&gt;Speaking of which…&lt;/p&gt;
&lt;h2 id="use-mercari"&gt;&lt;a class="toclink" href="#use-mercari"&gt;Use Mercari&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Mercari (メルカリ) is a widely used e-commerce application popular for second-hand sales and small time mom-and-pop independent stores. I used it for buying my TV and some rare-to-find records. It’s common to haggle on the price and you pay through convenience stores.&lt;/p&gt;
&lt;h2 id="get-used-to-customer-cards"&gt;&lt;a class="toclink" href="#get-used-to-customer-cards"&gt;Get used to customer cards&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;A lot of stores have customer cards, usually freely obtainable and immediately applicable. A card at my OK Supermarket cost 100 yen and saved me 3% on all my groceries. Places like Big Camera, the must-visit dirt-cheap second hand store Book-Off, Tully’s Coffee, etc have free customer cards. Some stores moved on to smart-phone applications, like the shoes-market chain ABC Market.&lt;/p&gt;
&lt;h1 id="services"&gt;&lt;a class="toclink" href="#services"&gt;Services&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="manga-cafes"&gt;&lt;a class="toclink" href="#manga-cafes"&gt;(Manga) cafes&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Although I loved my apartment and spent a lot of time at my university lab, I generally felt the most productive studying or reading in bakeries or the omnipresent coffee-shops like Tully’s and Renoir. Perhaps not as romantic, but another cheap option might be studying at McDonalds chains equipped with electric outlets and ordering a cheap coffee.&lt;/p&gt;
&lt;p&gt;Personally, I grew fond of manga cafes and particularly of the &lt;strong&gt;Kaikatsu Club&lt;/strong&gt; (快活クラブ) chain. Students get steep discounts, private booths are comfortable and equipped with both blankets and pillows for a quick nap, as well as a computer and additional screen I could attach to my laptop, and sufficient electrical outlets. All you can drink soft-ice, hot drinks and …&lt;/p&gt;</summary><content type="html">

&lt;p&gt;My home university’s student circle asked me for some tips for new exchange students coming to Japan and after living in Tokyo, Japan for over 18 months I learned some things that might be useful for future exchange students, often glanced over in similar lists. Although this list is a perpetual work-in-progress, I hope it can at least offer some concrete, directly applicable tips.&lt;/p&gt;

&lt;h1 id="shopping"&gt;&lt;a class="toclink" href="#shopping"&gt;Shopping&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="get-an-amazoncojp-prime-account"&gt;&lt;a class="toclink" href="#get-an-amazoncojp-prime-account"&gt;Get an Amazon.co.jp Prime account&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I’m reluctant for promoting a company with an employment situation as terrible as Amazon. Nevertheless, students are legible for a year-long trial of Amazon Prime Student which might be quite useful for exchange students on a budget. The prime reason to do so would be free expedited shipping, but some other benefits include streaming through Prime Video and free selection of Kindle novels. Personally, I found amazon.co.jp useful for difficult to find research material and access to some other second-hand sellers.&lt;/p&gt;
&lt;p&gt;Speaking of which…&lt;/p&gt;
&lt;h2 id="use-mercari"&gt;&lt;a class="toclink" href="#use-mercari"&gt;Use Mercari&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Mercari (メルカリ) is a widely used e-commerce application popular for second-hand sales and small time mom-and-pop independent stores. I used it for buying my TV and some rare-to-find records. It’s common to haggle on the price and you pay through convenience stores.&lt;/p&gt;
&lt;h2 id="get-used-to-customer-cards"&gt;&lt;a class="toclink" href="#get-used-to-customer-cards"&gt;Get used to customer cards&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;A lot of stores have customer cards, usually freely obtainable and immediately applicable. A card at my OK Supermarket cost 100 yen and saved me 3% on all my groceries. Places like Big Camera, the must-visit dirt-cheap second hand store Book-Off, Tully’s Coffee, etc have free customer cards. Some stores moved on to smart-phone applications, like the shoes-market chain ABC Market.&lt;/p&gt;
&lt;h1 id="services"&gt;&lt;a class="toclink" href="#services"&gt;Services&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="manga-cafes"&gt;&lt;a class="toclink" href="#manga-cafes"&gt;(Manga) cafes&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Although I loved my apartment and spent a lot of time at my university lab, I generally felt the most productive studying or reading in bakeries or the omnipresent coffee-shops like Tully’s and Renoir. Perhaps not as romantic, but another cheap option might be studying at McDonalds chains equipped with electric outlets and ordering a cheap coffee.&lt;/p&gt;
&lt;p&gt;Personally, I grew fond of manga cafes and particularly of the &lt;strong&gt;Kaikatsu Club&lt;/strong&gt; (快活クラブ) chain. Students get steep discounts, private booths are comfortable and equipped with both blankets and pillows for a quick nap, as well as a computer and additional screen I could attach to my laptop, and sufficient electrical outlets. All you can drink soft-ice, hot drinks and soft drinks are included, and food-service is relatively decent for the price. I confess to having spent the night there more than once after missing my last train, and with their student discounts its generally a cheaper and more comfortable option over spending several hours at coffee shops.&lt;/p&gt;
&lt;h2 id="convenience-stores"&gt;&lt;a class="toclink" href="#convenience-stores"&gt;Convenience stores&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;24/7 convenience stores offer decent food, fresh coffee, ATMs, printers, public restrooms and usually even a place to sit. One can purchase tickets for concerts, events, attraction parks like Disney Land, etc at the ticket machines there. Bills like your health insurance can be paid there, as well as most purchases on-line.&lt;/p&gt;
&lt;h2 id="karaoke"&gt;&lt;a class="toclink" href="#karaoke"&gt;Karaoke&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Karaoke is a common staple of the foreign exchange student experience in Japan. For those staying in Tokyo, I personally recommend the &lt;strong&gt;manekineko&lt;/strong&gt; (まねきねこ) chain. Great price/quality balance (コスパ最高) including all-you-eat soft-ice, and with student discount its actually the cheapest one I’ve been to within central Tokyo.&lt;/p&gt;
&lt;h1 id="food"&gt;&lt;a class="toclink" href="#food"&gt;Food&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;It would be a waste to not enjoy the wide range of different food available in Japan. Even if with a vegetarian lifestyle or on a budget it is definitely possible to explore various options; not just within the domain of more traditional Japanese cuisine (&lt;em&gt;washoku&lt;/em&gt; 和食) but all over the world. I definitely recommend popping into random places, but I still have my go-to places. By the way, just a tip but aside from being dragged to places by friends, I’ve often relied on the &lt;em&gt;tabelog&lt;/em&gt; (食べログ) application or even just googling things like “best bakery ikebukuro”.&lt;/p&gt;
&lt;h2 id="izakayas"&gt;&lt;a class="toclink" href="#izakayas"&gt;Izakayas&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Seriously, just try out a bunch of different &lt;em&gt;izayakayas&lt;/em&gt;, even if it means taking the elevator to a random 7&lt;sup&gt;th&lt;/sup&gt; floor. Get out of your comfort zone. When on a steep budget, however, &lt;strong&gt;Torikizoku&lt;/strong&gt; is by far the most famous izakaya chain in Japan, and a good, cheap choice for having a beer and some snacks with friends.&lt;/p&gt;
&lt;h2 id="chinese"&gt;&lt;a class="toclink" href="#chinese"&gt;Chinese&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;While it’s definitely worth visiting the historic Chinatown in Yokahama, the most authentic and affordable experience for Chinese cuisine in Tokyo is centered around Ikebukuro, a region by some considered as a modern Chinatown. Has many highly affordable dining options around, with popular selections like Szechuan dishes (Mapo Tofu is a personal favorite), Hainan Chicken, xiaolongbao (小笼包 or ショーロンポー, shanghai style buns), etc.&lt;/p&gt;
&lt;p&gt;A household name amongst mainland Chinese people is &lt;strong&gt;haidilao&lt;/strong&gt; (海底捞), a famous Chinese chain of hotpot restaurants. There’s one in Shinjuku (kabukicho) and in Ikebukuro. Go there during lunch or after 10PM for a 30% discount.&lt;/p&gt;
&lt;h2 id="korean"&gt;&lt;a class="toclink" href="#korean"&gt;Korean&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;While Korean restaurants are widely available, those in the Korean neighborhood (新大久保 Shin-Okubo) are most frequented by Korean natives. I personally really like &lt;strong&gt;Shinchan&lt;/strong&gt; (辛ちゃん) for its Korean-style fried chicken, &lt;strong&gt;Shijan Dakgalbi&lt;/strong&gt; (市場ダッカルビ) for its Cheese Dak galbi (an instagram hype amongst high-school students back in 2017), and &lt;strong&gt;Saemaeul Sikdang&lt;/strong&gt; (セマウル食堂) for their Kimchi Jigae. Other dishes to look out for are Samgyeopsal (삼겹살), Bulgogi (불고기) and Bibimbap (비빔밥). If you like alcohol, don’t forget to try the Korean sparkling rice wine makkoli (막걸리)!&lt;/p&gt;
&lt;h2 id="desserts"&gt;&lt;a class="toclink" href="#desserts"&gt;Desserts&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I like pancakes. A Happy Pancake (幸せのパンケーキ) has incredibly &lt;em&gt;fuwafuwa&lt;/em&gt; pancakes and are definitely worth the trip to Ikebukuro or Kichijoji.&lt;/p&gt;
&lt;h2 id="sushi"&gt;&lt;a class="toclink" href="#sushi"&gt;Sushi&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Eating at the counter of an old-school Sushi-bar and talking to the chef (&lt;em&gt;itamae&lt;/em&gt;, 板前) is a fun tradition losing popularity amongst young students. I’ve had many interesting conversations with both &lt;em&gt;itamae&lt;/em&gt; and other patrons, and more than once received something on the house (サービス). Worth trying at least once.&lt;/p&gt;
&lt;h1 id="school"&gt;&lt;a class="toclink" href="#school"&gt;School&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="zemi-style-classes"&gt;&lt;a class="toclink" href="#zemi-style-classes"&gt;&lt;em&gt;Zemi&lt;/em&gt;-style classes&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;If you have some freedom in picking your own courses, it’s definitely worth picking up several &lt;em&gt;zemi&lt;/em&gt; ゼミ(ナール). Valuable from a didactic standpoint, but due the interactive elements also a great opportunity to get to know your professors and classmates. If you’re in luck you’ll be able to participate in &lt;em&gt;gashuku&lt;/em&gt; 合宿 and &lt;em&gt;nomikai&lt;/em&gt; 飲み会 as well.&lt;/p&gt;
&lt;h2 id="circle-activities"&gt;&lt;a class="toclink" href="#circle-activities"&gt;Circle activities&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;If you’re able to converse in Japanese to a certain extent, I honestly think you’d be missing out skipping on the opportunity of joining at least one circle as exchange student. Traditionally, circles actively recruit at the start of the first semester, so definitely walk by the different stands around your campus and don’t be afraid of approaching the stand holders. You’ll probably be invited to join their Line groups and participate in newcomer events to get a feel of the group and its activities before making a decision.&lt;/p&gt;
&lt;p&gt;Exchange students are often stuck in an bubble of other exchange-students: being surrounded by mostly other exchange students, as well as the occasional Japanese student interested in internationalization and/or practicing foreign languages. Circles and &lt;em&gt;zemi&lt;/em&gt; are an effective way of expanding your friend circle at your university.&lt;/p&gt;
&lt;h1 id="daily-life"&gt;&lt;a class="toclink" href="#daily-life"&gt;Daily life&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="keep-a-diary-andor-blog"&gt;&lt;a class="toclink" href="#keep-a-diary-andor-blog"&gt;Keep a diary and/or blog&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Doesn’t have to be particularly long, just the essence of what you did each day. Maybe go more in-depth when you’ve experienced something memorable. You’ll be grateful to have something substantive to look back upon after finishing your exchange.&lt;/p&gt;
&lt;h2 id="dont-be-afraid-to-try-out-new-things-but-dont-forget-to-stick-to-your-favorites"&gt;&lt;a class="toclink" href="#dont-be-afraid-to-try-out-new-things-but-dont-forget-to-stick-to-your-favorites"&gt;Don’t be afraid to try out new things but don’t forget to stick to your favorites&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Sounds contradictory but I both recommend trying out as many activities and places around, such as restaurants, coffee-shops, preferred clothing stores, etc; and building a network of places you frequent. It’s a fun way to build a human connection with the local staff.&lt;/p&gt;
&lt;h2 id="baito"&gt;&lt;a class="toclink" href="#baito"&gt;Baito&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;After arrival in the airport it’s worth immediately applying for a work-permit as well. It’s quite easy to find student jobs in Japan and aside from some extra dispensable income, its a great way to increase your network and learn about cultural habits. Teaching English is a classic one, but definitely look around your university as well.&lt;/p&gt;
&lt;h2 id="consume-media"&gt;&lt;a class="toclink" href="#consume-media"&gt;Consume media&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I assume most studying Japanese or going on exchange to Japan appreciate Japanese media such as video games, movies, series, manga, anime or the music scene. Its worth getting more in-depth in a certain field and having a general feel on most mainstream fields as well. I’ve often been inquired on my favorite Japanese &lt;em&gt;geinin&lt;/em&gt; 芸人 (Naomi Watanabe, Buruzon Chiemi, Matsuko), &lt;em&gt;joyu&lt;/em&gt; 女優 (Sakura Ando, Fumi Nikaido, Ai Hashimoto) and &lt;em&gt;haiyu&lt;/em&gt; 俳優 (Abe Hiroshi), and even been asked opinions on male-idol label Johnny’s (ジャニーズ) and how I feel about Arashi 嵐. Having some knowledge on these topics helps daily conversation, or you might end up stuck discussing cultural differences between Japan and your country for the majority of your stay, which would get boring pretty fast. You’ll have more luck discussing morning drama’s (&lt;em&gt;asadora&lt;/em&gt;, 朝ドラ) and variety shows (good ways to improve listening skills by the way, I recommend 月曜の夜更かし, but itte-Q　and 水曜日のダウンタウン are fun as well) than you’ll have discussing Game of Thrones.&lt;/p&gt;
&lt;h3 id="social-media"&gt;&lt;a class="toclink" href="#social-media"&gt;Social media&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;The most popular form of social media remains Twitter, although Instagram is rapidly catching up and TikTok is the hot newcomer for the youth. These are crucial for keeping up with artists or people of note. As for communication tools, Line is the most popular messaging tool amongst Japanese, but if you have some Chinese friends it’s definitely useful to install WeChat as well. Another option, more popular amongst South Koreans, is Kakaotalk.&lt;/p&gt;
&lt;p&gt;[More to come, &lt;em&gt;maybe&lt;/em&gt;]&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr/&gt;
&lt;ol&gt;
&lt;li id="fn-footnote"&gt;
&lt;p&gt;Photograph of Chuo University, Tama Campus at night. &lt;a class="footnote-backref" href="#fnref-footnote" title="Jump back to footnote 1 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="Studies"></category><category term="Japan"></category><category term="Study abroad"></category><category term="tips"></category></entry><entry><title>Japanese E-books, vocab-mining, DRM and copyright law</title><link href="https://steviepoppe.net/blog/2019/05/japanese-e-books-vocab-mining-drm-and-copyright-law/" rel="alternate"></link><published>2019-05-14T00:00:00+02:00</published><updated>2019-05-14T00:00:00+02:00</updated><author><name>Stevie Poppe</name></author><id>tag:steviepoppe.net,2019-05-14:/blog/2019/05/japanese-e-books-vocab-mining-drm-and-copyright-law/</id><summary type="html">
&lt;p&gt;The E-book industry in Japan is gaining momentum. Both contemporary releases and more popular classics are seeing an increase in digital publication alongside physical distribution. Through their kindle service Amazon.co.jp has a particularly strong hold on this market, and their extensive catalog could offer good news for any intermediate or advanced Japanese language learner. It is easier to look up new vocabulary from digital media than it is to look something up from print media, and both physical Kindles as Kindle for Windows are surprisingly feature-rich, including in-built dictionaries and flashcard options.&lt;/p&gt;
&lt;p&gt;In &lt;a href="https://steviepoppe.net/blog/2019/04/a-quick-guide-on-using-anki-5-an-efficient-vocab-mining-set-up-with-anki-and-rikaisama-yomichan/"&gt;prior blogs&lt;/a&gt; I’ve described my method of reading digital texts as HTML files through a web-browser; using pop-up dictionaries such as Rikaisama or Yomichan in combination with flashcard application Anki for ‘vocab mining’&lt;sup&gt;&lt;/sup&gt; native materials.&lt;sup&gt;&lt;/sup&gt; This blog describes options of combining that method with kindle E-books, as well summing up several other alternative sources of E-books. Conclusively it is possible to efficiently utilize the Japanese kindle market for study purposes, but doing requires a bit of technical prowess and borders on technical illegality.&lt;/p&gt;
&lt;h1 id="amazon-kindle"&gt;&lt;a class="toclink" href="#amazon-kindle"&gt;Amazon Kindle&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;For the past two years or so I’ve often relied on Amazon.co.jp’s Kindle service for both academic purposes and as leisure, especially while living in Japan.&lt;sup&gt;&lt;/sup&gt; Their selection of Japanese language material is immense, with Kodansha-published E-books alone accounting for over 40.000 titles in their library. Having relied on above-mentioned study method for a while now I looked into my options of doing so with Kindle E-books as well.&lt;/p&gt;
&lt;h2 id="through-browsers"&gt;&lt;a class="toclink" href="#through-browsers"&gt;Through Browsers&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The first option would be to open Kindle E-books with my browser and use Rikaisama or Yomichan to import vocabulary into Anki. When purchasing an E-book on Amazon, one specifically purchases the right to read the E-book and download an amazon proprietary file through the Kindle software (the &lt;code&gt;.AZW&lt;/code&gt; format). This proprietary format is practically identical to the &lt;code&gt;.MOBI&lt;/code&gt; format (which again is basically a more highly compressed HTML file, specifically using the Ebook HTML syntax) with additional DRM-protection on commercial releases as attempt to counter copyright infringement.&lt;/p&gt;
&lt;p&gt;Both Chrome and Firefox have plug-ins for parsing those two formats, but these plug-ins are frankly not sufficient for our purposes, and for obvious reasons don’t support files with DRM. One option would be removing the DRM through software and converting the Kindle &lt;code&gt;.AZW&lt;/code&gt; format to a &lt;code&gt;ZHTML&lt;/code&gt; format, which is …&lt;/p&gt;</summary><content type="html">

&lt;p&gt;The E-book industry in Japan is gaining momentum. Both contemporary releases and more popular classics are seeing an increase in digital publication alongside physical distribution. Through their kindle service Amazon.co.jp has a particularly strong hold on this market, and their extensive catalog could offer good news for any intermediate or advanced Japanese language learner. It is easier to look up new vocabulary from digital media than it is to look something up from print media, and both physical Kindles as Kindle for Windows are surprisingly feature-rich, including in-built dictionaries and flashcard options.&lt;/p&gt;

&lt;p&gt;In &lt;a href="https://steviepoppe.net/blog/2019/04/a-quick-guide-on-using-anki-5-an-efficient-vocab-mining-set-up-with-anki-and-rikaisama-yomichan/"&gt;prior blogs&lt;/a&gt; I’ve described my method of reading digital texts as HTML files through a web-browser; using pop-up dictionaries such as Rikaisama or Yomichan in combination with flashcard application Anki for ‘vocab mining’&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-1" id="fnref-1" rel="footnote"&gt;2&lt;/a&gt;&lt;/sup&gt; native materials.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-2" id="fnref-2" rel="footnote"&gt;3&lt;/a&gt;&lt;/sup&gt; This blog describes options of combining that method with kindle E-books, as well summing up several other alternative sources of E-books. Conclusively it is possible to efficiently utilize the Japanese kindle market for study purposes, but doing requires a bit of technical prowess and borders on technical illegality.&lt;/p&gt;
&lt;h1 id="amazon-kindle"&gt;&lt;a class="toclink" href="#amazon-kindle"&gt;Amazon Kindle&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;For the past two years or so I’ve often relied on Amazon.co.jp’s Kindle service for both academic purposes and as leisure, especially while living in Japan.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-3" id="fnref-3" rel="footnote"&gt;4&lt;/a&gt;&lt;/sup&gt; Their selection of Japanese language material is immense, with Kodansha-published E-books alone accounting for over 40.000 titles in their library. Having relied on above-mentioned study method for a while now I looked into my options of doing so with Kindle E-books as well.&lt;/p&gt;
&lt;h2 id="through-browsers"&gt;&lt;a class="toclink" href="#through-browsers"&gt;Through Browsers&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The first option would be to open Kindle E-books with my browser and use Rikaisama or Yomichan to import vocabulary into Anki. When purchasing an E-book on Amazon, one specifically purchases the right to read the E-book and download an amazon proprietary file through the Kindle software (the &lt;code&gt;.AZW&lt;/code&gt; format). This proprietary format is practically identical to the &lt;code&gt;.MOBI&lt;/code&gt; format (which again is basically a more highly compressed HTML file, specifically using the Ebook HTML syntax) with additional DRM-protection on commercial releases as attempt to counter copyright infringement.&lt;/p&gt;
&lt;p&gt;Both Chrome and Firefox have plug-ins for parsing those two formats, but these plug-ins are frankly not sufficient for our purposes, and for obvious reasons don’t support files with DRM. One option would be removing the DRM through software and converting the Kindle &lt;code&gt;.AZW&lt;/code&gt; format to a &lt;code&gt;ZHTML&lt;/code&gt; format, which is quite is literally a compressed (zipped-up) HTML format; unzipping the &lt;code&gt;.ZHTML&lt;/code&gt; file and opening the resulting HTML page with your browser of choice is all it takes to achieve our goal of simultaneously reading and vocab Kindle E-books with Yomichan or Rikaisama.&lt;/p&gt;
&lt;p&gt;Converting an E-book is a simple process done with the popular open-source tool &lt;strong&gt;&lt;a href="https://en.wikipedia.org/wiki/Calibre_(software)"&gt;Calibre&lt;/a&gt;&lt;/strong&gt;. Calibre supports third-party plug-ins, including one used to bypass E-book DRM. While the process would thus be as simple as locating your legally purchased Kindle E-book in &lt;code&gt;.AZW&lt;/code&gt; format with Calibre, converting the book to ZHTML, extracting the ZHTML and opening the content with a browser,&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-4" id="fnref-4" rel="footnote"&gt;5&lt;/a&gt;&lt;/sup&gt; I had some interest in the legal aspects of bypassing DRM and converting E-books for such fair-use purposes. International copyright law in the digital age is an ever-changing field, and I am not a legal expert by any stretch, but I will briefly summarize my understanding of the current-day situation.&lt;/p&gt;
&lt;h2 id="legality"&gt;&lt;a class="toclink" href="#legality"&gt;Legality&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Kindle E-books are protected by DRM (Digital Rights Management), a form of Technological Protection Mechanisms (TPM) to prevent copyright infringement on a digital level (i.e. piracy). DRM is a controversial topic and while some industries, such as the music industry, are backing away from DRM (no doubt due a rise in streaming services), DRM mechanisms are still inherent to the E-book industry. Regardless of one’s ethical principles, the legality of fair use DRM stripping (i.e. &lt;strong&gt;place shifting&lt;/strong&gt; as means of back-up, or &lt;strong&gt;format shifting&lt;/strong&gt; as described in this article) should be touched upon. If one has for example a large, expensive library of DRM-protected E-books and its distributor goes out-of-service, or the tools to read those E-books with are no longer supported, what options remain for the customer to enjoy their legally-obtained works?&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-5" id="fnref-5" rel="footnote"&gt;6&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;Technically, removal of digital copy protection mechanisms such as DRM fall under anti-circumvention laws. Now, laws might differ depending on the region, and although laws could directly forbid the removal of digital copy protection mechanisms, others might contradictory permit shifting of formats or creating back-ups for personal use.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-6" id="fnref-6" rel="footnote"&gt;7&lt;/a&gt;&lt;/sup&gt; Nevertheless, most countries today are members of the World Intellectual Property Organization (&lt;strong&gt;WIPO&lt;/strong&gt;) and adopt the World Intellectual Property Organization Copyright Treaty (WIPO Copyright Treaty or &lt;strong&gt;WCT&lt;/strong&gt;). While specific implementations of the WCT differ on its member states, WIPO (a United Nations agency) &lt;a href="https://www.wipo.int/ip-outreach/en/ipday/2016/ip_digital.html"&gt;explicitly states&lt;/a&gt; the general act of DRM-removal as illegal.&lt;/p&gt;
&lt;h3 id="usa"&gt;&lt;a class="toclink" href="#usa"&gt;USA&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;The anti-circumvention of the WCT-inspired &lt;strong&gt;DCMA&lt;/strong&gt; for example, as upheld in the United States, explicitly states that while circumvention of &lt;strong&gt;copy-control measures&lt;/strong&gt;&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-7" id="fnref-7" rel="footnote"&gt;8&lt;/a&gt;&lt;/sup&gt; is not illegal, circumvention of &lt;strong&gt;access-control measures&lt;/strong&gt; very much is. The latter (quite literally measures to control which platform can access the media) applies to E-books as well, and thus format-shifting, &lt;strong&gt;regardless of fair-use intent&lt;/strong&gt;,&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-8" id="fnref-8" rel="footnote"&gt;9&lt;/a&gt;&lt;/sup&gt; does fall under this category. Unfortunately, the reality is that most DRM implementations contain both measures. Furthermore a controversial 1999 ruling held the very act of linking to pages hosting circumvention software as illegal trafficking. There is however a more recent legal case concerning this topic, in which an E-book store, contractually obliged to sell E-books with DRM, was sued after closing down and disclosing information on how to remove this DRM. Although they were sued for inducement of contributory infringement, a federal judge in New York ruled that A) Abbey House did not induce infringement as there was no factual direct knowledge of infringement, and B) the infringement referred to was of illegal redistribution, not of DRM removal.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-9" id="fnref-9" rel="footnote"&gt;10&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;h3 id="eu"&gt;&lt;a class="toclink" href="#eu"&gt;EU&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;The European Union implements WCT through the &lt;strong&gt;Copyright Directive&lt;/strong&gt; (also known as the &lt;strong&gt;InfoSoc Directive&lt;/strong&gt;), which had a controversial update just weeks before this post (26 March 2019).&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-10" id="fnref-10" rel="footnote"&gt;11&lt;/a&gt;&lt;/sup&gt; DRM falls under the 2001-era Article 6(3) and Article 7(2), and while member states of the European Union have again different interpretations and implementations of these articles, there are little to no practical exceptions protecting the individual in the actual Copyright Directive.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-11" id="fnref-11" rel="footnote"&gt;12&lt;/a&gt;&lt;/sup&gt;‘&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-12" id="fnref-12" rel="footnote"&gt;13&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;h3 id="japan"&gt;&lt;a class="toclink" href="#japan"&gt;Japan&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Japan too implements WCT as WIPO member. Although copying media for back-up purposes itself is legal, it is not just the illegal distribution of copyrighted material on-line, but downloading of music and movies that are considered offenses under criminal law as well.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-13" id="fnref-13" rel="footnote"&gt;14&lt;/a&gt;&lt;/sup&gt;‘&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-14" id="fnref-14" rel="footnote"&gt;15&lt;/a&gt;&lt;/sup&gt; As for Technological Protection Measures, the topic of DRM in particular falls under Copyright Act Article 2.1 Clause 20 (著作権法2条1項20号) and Article 2 Section 7 of the Unfair Competition Prevention Act (不正競争防止法2条7項).&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-15" id="fnref-15" rel="footnote"&gt;16&lt;/a&gt;&lt;/sup&gt; Circumvention (「技術的保護手段の回避」) of both copy-control measures and access-control measures are from a legal point of view criminal offenses.&lt;/p&gt;
&lt;p&gt;On a final note, when someone purchases media such as Kindle E-books through a distributor such as Amazon, they gain limited rights of access, just as a distributor has limited rights of distribution. These rights are, unlike digital media in physical formats (such as CDs), determined through a contract with the distributor. Regardless of the applicable law, removal of DRM is foremost a breach of the Terms of Service one signs when signing up with Amazon and the Terms of Service does generally uphold in court.&lt;/p&gt;
&lt;h3 id="tldr"&gt;&lt;a class="toclink" href="#tldr"&gt;TL;DR&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;To throw in my own two cents, I believe the technical implementations of anti-circumvention law are outdated and do not accurately represent the role of digital data in our lives. Furthermore these laws imply circumvention of copyrighted protection to be done solely for the purpose of illegal redistribution. Having said that, I also sincerely doubt anyone to actually face legal consequences for such benign personal fair-use purposes such as converting a Japanese language E-book to an HTML format for vocab-mining purposes (as implied in this article), and as of this article’s date there are no such legal precedences (not to mention the lack of traceability when done in private spheres). From a legal perspective however, bypassing DRM is illegal in WIPO countries and punishable by the legal framework of the country one resides in, with at least the possibility of termination of services if detected.&lt;/p&gt;
&lt;h2 id="through-the-kindle-application"&gt;&lt;a class="toclink" href="#through-the-kindle-application"&gt;Through the Kindle Application&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;With above-mentioned issues of legality, detractors of that that method could opt for another method: creating flashcards based on using your Kindle hardware and/or the Kindle application itself.&lt;/p&gt;
&lt;p&gt;While reading a novel, one can look up words using in-built dictionaries (e.g. J - E, or J - J). These “look ups” will be saved in a vocabulary file and in case you’re using Kindle hardware, synced to your desktop Kindle application: a vocab.db file. Using the service on &lt;a href="https://fluentcards.com/kindle"&gt;https://fluentcards.com/kindle&lt;/a&gt;, one can then convert the &lt;code&gt;vocab.db&lt;/code&gt; file client-side and import the result into Anki. To add example sentences, you’d be required to convert the Anki note-type to the one we’ve been using prior and use the bulk-edit feature of the Example Sentence Anki plug-in.&lt;/p&gt;
&lt;p&gt;Unfortunately adding audio is a bit more complicated. One could rely on text-to-speech services like the Anki plug-in AwesomeTTS. Another option would be to bulk-edit cards to import audio from Jpod101’s database, just like Rikaisama and Yomichan do. Unfortunately there is no such plug-in yet. I will look into it myself at a later time.&lt;/p&gt;
&lt;h2 id="geo-blocking"&gt;&lt;a class="toclink" href="#geo-blocking"&gt;Geo-blocking&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;For those not currently residing in Japan, I should also mention that there are some (legal) limitations to purchasing Kindle E-books outside of Japan. As of yet, Amazon has due licensing and logistical reasons not yet opened its E-book market to the international E-market, and similar to how video-streaming services as Netflix and Prime Video block content based on region (&lt;strong&gt;geo-blocking&lt;/strong&gt;), kindle has certain technical limitations as well. Those without an official address in Japan would require at minimum an Amazon.co.jp account with existing Japanese address, and kindle E-book downloads abroad, while not blocked, are at the very least limited in frequency one can purchase Interestingly, Japanese E-book competitors &lt;a href="https://honto.jp/"&gt;https://honto.jp/&lt;/a&gt; and &lt;a href="https://www.ebookjapan.jp/ebj/"&gt;https://www.ebookjapan.jp/ebj/&lt;/a&gt;, while obviously enforcing DRM, do not employ such geo-restrictions.&lt;/p&gt;
&lt;p&gt;While outside the scope of this article, googling these topics reveal many threads on bypassing geo-blocks to purchase digital contents abroad and offers an interesting case-study within the concept of economics of digitization. The European Commission has voted in favor of a &lt;strong&gt;Digital Single Market&lt;/strong&gt; for countries already belong to the &lt;strong&gt;European Common Market&lt;/strong&gt;, but as far as I’m aware the concept of an international digital single market crossing existing market boundaries seems unlikely for now.&lt;/p&gt;
&lt;h2 id="aozora"&gt;&lt;a class="toclink" href="#aozora"&gt;Aozora&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Several years ago it was still a challenge finding native materials on-line. One option remains &lt;a href="http://www.aozora.gr.jp/"&gt;Aozora&lt;/a&gt; — the Japanese answer to the &lt;a href="https://www.gutenberg.org/"&gt;Project Gutenberg&lt;/a&gt;, which freely hosts tons of public-domain books online.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-17" id="fnref-17" rel="footnote"&gt;18&lt;/a&gt;&lt;/sup&gt;‘&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-18" id="fnref-18" rel="footnote"&gt;19&lt;/a&gt;&lt;/sup&gt; Due the nature of public domain literature, these might not be that accessible or entertaining even for the casual intermediate-level learner; but regardless there are some absolute classics such as Natsume Soseki’s &lt;a href="http://www.aozora.gr.jp/cards/000148/files/752_14964.html"&gt;Botchan (坊っちゃん)&lt;/a&gt; and Tanizaki Jun’ichiro’s &lt;a href="https://www.aozora.gr.jp/cards/001383/card56642.html"&gt;In Praise of Shadows (陰翳礼讃)&lt;/a&gt; which both content-wise and length-wise are actually quite doable after just several years of studying the language.&lt;/p&gt;
&lt;p&gt;While you can read Aozora novels as-is online using Yomichan or Rikaisama, I personally recommend downloading the file and formatting the text-file using Jnovelformatter to be more comfortable on the eyes.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-19" id="fnref-19" rel="footnote"&gt;20&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;h1 id="other"&gt;&lt;a class="toclink" href="#other"&gt;Other&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;I should write a more extensive blog on this topic at some point, but while not enjoying the same popularity as approximately 15 years ago, the &lt;strong&gt;cellphone novel&lt;/strong&gt; genre is still very much alive and many successful releases still find their way to the physical world. Many of these are romantic of nature or deal with daily life issues as seen from the perspective of teenage girls or young adult women. The genre’s target audience is evident when accessing the most popular platform, &lt;a href="https://novel.maho.jp/"&gt;Maho i-Land&lt;/a&gt;, greeting the visitor with a slogan claiming to be 「日本最大級のガールズポータルサイト」 (Japan’s largest girls portal site). Due their very nature these works are quite accessible even for early intermediate students, and can be read on-line using my suggested method.&lt;/p&gt;
&lt;p&gt;Another interesting source of literature is the Japan P.E.N. Club Digital Library, an international association of progressive intellectual writers. The Japanese movement has strong ties to important Japanese writers as Endō Shūsaku and Kawabata Yasunari, and is part of a larger association with ties to Belgian Nobel prize winner Maurice Maeterlinck, Heinrich Böll, Jorge Luis Borges and even J.K. Rowling to name a few. I recommend Kawabata’s &lt;a href="http://bungeikan.jp/domestic/detail/242/"&gt;One Arm (片腕)&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Piracy of Japanese media is widespread, and while some argue piracy has led to the success of Japanese animation in the west in the first place, the argument that piracy is killing the industry has led to harsh crackdowns on piracy in Japan. Nevertheless, there does seem to be an active piracy scene in Japan, spreading digital versions, formatted in as .TXT file, of more popular modern literature; such as light novels. For obvious reasons I can’t provide any sources, but this could make a good topic for a future article, perhaps.&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr/&gt;
&lt;ol&gt;
&lt;li id="fn-footnote"&gt;
&lt;p&gt;Image taken from the 2012 Japanese animated film Wolf Children by Mamoru Hosoda, used under Fair Use doctrine. &lt;a class="footnote-backref" href="#fnref-footnote" title="Jump back to footnote 1 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-1"&gt;
&lt;p&gt;The practice of accumulating not yet learned vocabulary for creating flashcards. &lt;a class="footnote-backref" href="#fnref-1" title="Jump back to footnote 2 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-2"&gt;
&lt;p&gt;Several years later this is still my go to method. While the amount of new definitions I actually add to my Anki-sets has of course drastically decreased over time, the learning process never really stops and I still encounter new expressions or technical jargon on a daily basis; especially while reading non-fiction texts related to my study-field. &lt;a class="footnote-backref" href="#fnref-2" title="Jump back to footnote 3 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-3"&gt;
&lt;p&gt;Amazon’s business controversial practices aside, the free Amazon Prime student account is indeed extremely convenient and offers free access to Kindle Prime Reading and Prime Video. &lt;a class="footnote-backref" href="#fnref-3" title="Jump back to footnote 4 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-4"&gt;
&lt;p&gt;Or alternatively, to a .TXT format for further processing with &lt;a href="http://forum.koohii.com/post-113458.html"&gt;Jnovelformatter&lt;/a&gt;. The end-result will be kinder to the eyes. JNovelFormatter is a neat little tool by the developer of Rikaisama that converts Japanese literature formatted as .TXT into cleanly parsed HTML-files. Layout is fairly customizable, although I think the original settings are easy on the eye enough as-is (I like dark backgrounds when reading for hours at a time, makes me feel less like I’m gazing straight into a light-bulb). End of Sentence dots are turned into book-markable anchors so you won’t lose track of your progress. &lt;a class="footnote-backref" href="#fnref-4" title="Jump back to footnote 5 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-5"&gt;
&lt;p&gt;Several start-ups are playing with the idea of using blockchain technology to counter some of the problems inherently tied to E-book DRM. An interesting read: &lt;a href="https://www.forbes.com/sites/billrosenblatt/2018/08/18/can-blockchains-disrupt-the-E-book-market-two-startups-will-find-out/#5d7a84435a0b"&gt;https://www.forbes.com/sites/billrosenblatt/2018/08/18/can-blockchains-disrupt-the-E-book-market-two-startups-will-find-out/#5d7a84435a0b&lt;/a&gt;.Another solution is watermarking, allowing the user more ownership over the E-book. &lt;a href="https://copyrightandtechnology.com/2016/10/05/E-book-retail-platform-offers-choice-of-watermarking-or-drm/"&gt;https://copyrightandtechnology.com/2016/10/05/E-book-retail-platform-offers-choice-of-watermarking-or-drm/&lt;/a&gt;.
Speaking of blockchain and DRM, Sony actually filed a patent for in 2018 this as well. &lt;a href="https://www.ccn.com/sony-files-for-blockchain-fueled-drm-patent"&gt;https://www.ccn.com/sony-files-for-blockchain-fueled-drm-patent&lt;/a&gt; &lt;a class="footnote-backref" href="#fnref-5" title="Jump back to footnote 6 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-6"&gt;
&lt;p&gt;While specific implementation of these laws differ on region, the World Intellectual Property Organization (WIPO) explicitly states the general act of DRM-removal as illegal &lt;a href="https://www.wipo.int/ip-outreach/en/ipday/2016/ip_digital.html"&gt;https://www.wipo.int/ip-outreach/en/ipday/2016/ip_digital.html&lt;/a&gt;. &lt;a class="footnote-backref" href="#fnref-6" title="Jump back to footnote 7 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-7"&gt;
&lt;p&gt;Thus under this provision of the DCMA, it would be legal to bypass copy-control measures for private back-up purposes. &lt;a href="http://www.dmlp.org/legal-guide/circumventing-copyright-controls"&gt;http://www.dmlp.org/legal-guide/circumventing-copyright-controls&lt;/a&gt; &lt;a class="footnote-backref" href="#fnref-7" title="Jump back to footnote 8 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-8"&gt;
&lt;p&gt;&amp;lt;https://info.legalzoom.com/dmca-backup-copyrighted-content-22827.html &lt;a href="https://www.wired.com/2010/03/dmca-muscle-strong-arms-dvd-copying/"&gt;https://www.wired.com/2010/03/dmca-muscle-strong-arms-dvd-copying/&lt;/a&gt; &lt;a class="footnote-backref" href="#fnref-8" title="Jump back to footnote 9 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-9"&gt;
&lt;p&gt;Abbey House Media v. Apple Inc. Gizmodo has a brief piece on this at &lt;a href="https://gizmodo.com/its-perfectly-legal-to-tell-people-how-to-remove-drm-1670223538"&gt;https://gizmodo.com/its-perfectly-legal-to-tell-people-how-to-remove-drm-1670223538&lt;/a&gt;. &lt;a class="footnote-backref" href="#fnref-9" title="Jump back to footnote 10 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-10"&gt;
&lt;p&gt;Directive Article 17 (known as Draft Article 13) makes on-line platforms directly liable for copyright infringement by its users and could lead to implementation of filters to remove copyrighted material on most big on-line platforms. Directive Article 15 (known as Draft Article 11) will effectively limit social media and search engines in their capability of aggregating and hot-linking. Both articles are widely criticized controversy lies in the (solid) assumption this article will lead to a decrease in creative content and limit access to information, but member states have another two years to implements these measures and it is yet to see how social media platforms will reply. On a positive note, the EU did at least implement an exception in copyright law for scientific text and data mining (TDM) purposes. ¯\&lt;em&gt;(ツ)&lt;/em&gt;/¯ &lt;a href="https://www.wired.co.uk/article/what-is-article-13-article-11-european-directive-on-copyright-explained-meme-ban"&gt;https://www.wired.co.uk/article/what-is-article-13-article-11-european-directive-on-copyright-explained-meme-ban&lt;/a&gt; &lt;a href="https://copyrightandtechnology.com/2018/09/13/eu-parliament-approves-watered-down-copyright-directive/"&gt;https://copyrightandtechnology.com/2018/09/13/eu-parliament-approves-watered-down-copyright-directive/&lt;/a&gt; &lt;a class="footnote-backref" href="#fnref-10" title="Jump back to footnote 11 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-11"&gt;
&lt;p&gt;This absurd &lt;a href="https://www.coe.int/en/web/octopus/blog/-/blogs/circumvention-of-technological-protection-measures-as-a-cybercrime"&gt;2013 Wired article&lt;/a&gt; even goes so far to suggest that the technological prowess of circumventing DRM should be interpreted as a form of cyber crime and thus fall under criminal law, rather than seen as a potential civil offense. &lt;a class="footnote-backref" href="#fnref-11" title="Jump back to footnote 12 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-12"&gt;
&lt;p&gt;Although some member states distanced themselves from implementing any specific measures, such as Poland and Portugal &lt;a href="https://www.communia-association.org/2017/10/11/european-parliament-talking-drm-right-now/"&gt;https://www.communia-association.org/2017/10/11/european-parliament-talking-drm-right-now/&lt;/a&gt;. &lt;a class="footnote-backref" href="#fnref-12" title="Jump back to footnote 13 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-13"&gt;
&lt;p&gt;Recently proposed and highly controversial changes to Japanese copyright law would extent that scope to any copyrighted material without permission, as an attempt specifically meant to counter piracy of Japanese comics. As is, the implications of this for regular Internet users could however be quite severe, with little legal ground to stand on, and are often compared to the EU’s implementation of Draft Article 11 and 13. Prime Minister Abe has decided to postpone the bill for now. &lt;a href="https://japantoday.com/category/crime/digital-dilemma-japan-flirts-with-overly-aggressive-online-copyright-law"&gt;https://japantoday.com/category/crime/digital-dilemma-japan-flirts-with-overly-aggressive-online-copyright-law&lt;/a&gt; &lt;a class="footnote-backref" href="#fnref-13" title="Jump back to footnote 14 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-14"&gt;
&lt;p&gt;Although to be fair, there is quite some leeway in Japanese Copyright Law when it comes to the industry of derivative works (二次創作 &lt;em&gt;nijisosaku&lt;/em&gt; or 同人誌 &lt;em&gt;dojinshi&lt;/em&gt;). &lt;a class="footnote-backref" href="#fnref-14" title="Jump back to footnote 15 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-15"&gt;
&lt;p&gt;English translations of both are available respectively at &lt;a href="http://www.cric.or.jp/english/clj/cl1.html"&gt;http://www.cric.or.jp/english/clj/cl1.html&lt;/a&gt; and &lt;a href="http://www.japaneselawtranslation.go.jp/law/detail_main?id=83&amp;amp;vm=2&amp;amp;re="&gt;http://www.japaneselawtranslation.go.jp/law/detail_main?id=83&amp;amp;vm=2&amp;amp;re=&lt;/a&gt;. &lt;a class="footnote-backref" href="#fnref-15" title="Jump back to footnote 16 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-16"&gt;
&lt;p&gt;From a technical point of view, this is based on one’s IP address. Although methods such as using VPNs or dynamic IP addresses have been popular means of bypassing (&lt;strong&gt;spoofing&lt;/strong&gt;) geo-locks, many streaming services are aggressively blocking access through such means. &lt;a class="footnote-backref" href="#fnref-16" title="Jump back to footnote 17 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-17"&gt;
&lt;p&gt;According to Wikipedia, they host over 10.000 works including both out-of-copyright works or those made freely available by the authors. Read more: &lt;a href="https://en.wikipedia.org/wiki/Aozora_Bunko"&gt;https://en.wikipedia.org/wiki/Aozora_Bunko&lt;/a&gt; &lt;a class="footnote-backref" href="#fnref-17" title="Jump back to footnote 18 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-18"&gt;
&lt;p&gt;Although the Trans-Pacific Partnership (TPP) trade-agreement did not take effect after a United States withdrawal, discussions on copyright law concerning the TPP did however lead to a new definition of what concerns public domain in Japan. As a result, rather than 50 years, literature now falls into PD 70 years after the death of the author. This has led to a massive removal of literature on Aozora. &lt;a class="footnote-backref" href="#fnref-18" title="Jump back to footnote 19 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-19"&gt;
&lt;p&gt;While the Aozora-recommended web-application &lt;a href="https://www.satokazzz.com/airzoshi/"&gt;airzoshi&lt;/a&gt; is an attractive alternative, its formatting effectively blocks the usage of Yomichan or Rikaisama, rendering the whole exercise pointless. &lt;a class="footnote-backref" href="#fnref-19" title="Jump back to footnote 20 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="Studies"></category><category term="Anki"></category><category term="Japanese"></category><category term="Studying"></category><category term="Tutorial"></category></entry><entry><title>Travels: Hong Kong &amp; Macau</title><link href="https://steviepoppe.net/blog/2019/05/travels-hong-kong-macau/" rel="alternate"></link><published>2019-05-10T00:00:00+02:00</published><updated>2019-05-10T00:00:00+02:00</updated><author><name>Stevie Poppe</name></author><id>tag:steviepoppe.net,2019-05-10:/blog/2019/05/travels-hong-kong-macau/</id><summary type="html">

&lt;p&gt;At the end of my third semester in Japan, I took use of an extended school holiday &lt;em&gt;and&lt;/em&gt; my last remaining months in Japan to plan a short trip to Taiwan and Hong Kong. During my stay I’ve had the pleasure to acquaint people from both regions and took this as the perfect excuse for some last minute sightseeing.&lt;/p&gt;

&lt;h1 id="brief-history"&gt;&lt;a class="toclink" href="#brief-history"&gt;Brief history &lt;i class="icon-history small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;As one of the most important trade and financial hubs in Asia and one of the most densely populated regions in the world; Hong Kong (香港) has a distinct international feel. While historically undeniably Chinese, Hong Kong was conceded by the Qing Dinasty to British rule after the First Opium War and remained a British colony until 1997, with brief control under the Japanese Empire during the Second World War. The majority of Hong Kong’s population have Cantonese ancestry and Cantonese remains the region’s main language.&lt;/p&gt;
&lt;p&gt;Although Hong Kong, like Macau, has some political independence under Deng Xiaoping’s “one country, two systems” principle (一国两制), both Macau and Hong Kong are officially part of The People’s Republic of China under the statute of Special Administrative Region. This in turn does lead to occasional political tensions concerning the extent to which mainland China should be allowed governance over Hong Kong. Living in Japan with mutual friends from mainland China, Hong Kong and Taiwan, I’ve had the opportunity to get a more nuanced take on both sides, but I feel this particular blog is not the appropriate platform for such a topic.&lt;/p&gt;
&lt;h1 id="itinerary"&gt;&lt;a class="toclink" href="#itinerary"&gt;Itinerary &lt;i class="icon-plane small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;While I spent the first half of my last-minute trip (around Taipei) mostly by myself, the second half of my trip (Hong Kong and Macao) was mostly spend with company and as a leisure trip to charge our batteries.&lt;/p&gt;
&lt;p&gt;I took a Hong Kong Airline flight from Taipei to Hong Kong International Airport (a short flight but possibly the most comfortable I’ve flown so far) and arrived at my hotel early in the evening. Similar to the &lt;em&gt;EasyCard&lt;/em&gt; in Taiwan and &lt;em&gt;Pasmo&lt;/em&gt; in Japan, I bought a RFID metro card, the Octopus Card, in Hong Kong. Rather than a card, this one was designed a cute bear key-chain, again applicable as general payment method in most convenient stores and some restaurants.&lt;/p&gt;
&lt;h2 id="hong-kong"&gt;&lt;a class="toclink" href="#hong-kong"&gt;Hong Kong&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="ginza-square"&gt;&lt;a class="toclink" href="#ginza-square"&gt;Ginza Square&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;I stayed at Harbour Plaza Resort City in &lt;strong&gt;Kingswood&lt;/strong&gt;, close to Ginza Square …&lt;/p&gt;</summary><content type="html">

&lt;p&gt;At the end of my third semester in Japan, I took use of an extended school holiday &lt;em&gt;and&lt;/em&gt; my last remaining months in Japan to plan a short trip to Taiwan and Hong Kong. During my stay I’ve had the pleasure to acquaint people from both regions and took this as the perfect excuse for some last minute sightseeing.&lt;/p&gt;

&lt;h1 id="brief-history"&gt;&lt;a class="toclink" href="#brief-history"&gt;Brief history &lt;i class="icon-history small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;As one of the most important trade and financial hubs in Asia and one of the most densely populated regions in the world; Hong Kong (香港) has a distinct international feel. While historically undeniably Chinese, Hong Kong was conceded by the Qing Dinasty to British rule after the First Opium War and remained a British colony until 1997, with brief control under the Japanese Empire during the Second World War. The majority of Hong Kong’s population have Cantonese ancestry and Cantonese remains the region’s main language.&lt;/p&gt;
&lt;p&gt;Although Hong Kong, like Macau, has some political independence under Deng Xiaoping’s “one country, two systems” principle (一国两制), both Macau and Hong Kong are officially part of The People’s Republic of China under the statute of Special Administrative Region. This in turn does lead to occasional political tensions concerning the extent to which mainland China should be allowed governance over Hong Kong. Living in Japan with mutual friends from mainland China, Hong Kong and Taiwan, I’ve had the opportunity to get a more nuanced take on both sides, but I feel this particular blog is not the appropriate platform for such a topic.&lt;/p&gt;
&lt;h1 id="itinerary"&gt;&lt;a class="toclink" href="#itinerary"&gt;Itinerary &lt;i class="icon-plane small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;While I spent the first half of my last-minute trip (around Taipei) mostly by myself, the second half of my trip (Hong Kong and Macao) was mostly spend with company and as a leisure trip to charge our batteries.&lt;/p&gt;
&lt;p&gt;I took a Hong Kong Airline flight from Taipei to Hong Kong International Airport (a short flight but possibly the most comfortable I’ve flown so far) and arrived at my hotel early in the evening. Similar to the &lt;em&gt;EasyCard&lt;/em&gt; in Taiwan and &lt;em&gt;Pasmo&lt;/em&gt; in Japan, I bought a RFID metro card, the Octopus Card, in Hong Kong. Rather than a card, this one was designed a cute bear key-chain, again applicable as general payment method in most convenient stores and some restaurants.&lt;/p&gt;
&lt;h2 id="hong-kong"&gt;&lt;a class="toclink" href="#hong-kong"&gt;Hong Kong&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="ginza-square"&gt;&lt;a class="toclink" href="#ginza-square"&gt;Ginza Square&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;I stayed at Harbour Plaza Resort City in &lt;strong&gt;Kingswood&lt;/strong&gt;, close to Ginza Square. While this place looks remarkably classy and far out of my league, it’s in what’s called the &lt;strong&gt;New Territories&lt;/strong&gt; (新界) in &lt;strong&gt;Tsin Shui Wai&lt;/strong&gt;. fairly far from central regions like Kowloon and thus quite affordable (also, a friend arranged a strong discount).&lt;/p&gt;
&lt;p&gt;As I arrived fairly late in the evening, most of the restaurants in the vicinity of the hotel were already closed. On advice of the hotel staff, we took a cab to a nearby region popular amongst locals for late night food and drinks. Rather than the likes of bars however, these were small pop-up joints set up in people’s garages. Luckily, my friend speaks Cantonese and ordered us some My Dim Sum and other dishes. The cook struck a conversation with my friend and it turns out she was quite curious what I felt of the food since I was the first visitor from the west. I quite enjoyed it and the general atmosphere, despite not speaking a word of Cantonese. One habit I was formerly unaware of though is washing one’s utensils with the hot tea provided with your meal.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/46909453515/" title="Ginza Square"&gt;&lt;img alt="Ginza Square" src="https://live.staticflickr.com/65535/46909453515_0ecce75b73_z.jpg" style="height:480px; width:500px;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h3 id="central"&gt;&lt;a class="toclink" href="#central"&gt;Central&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Central&lt;/strong&gt; (中環) is most known as the financial district of Hong Kong, with massive skyscrapers of distinct architectural design. In contrast, heading a bit further in Central reveals small residential neighborhoods with artsy boutiques popping up around; as well as Hong Kong’s arguably most infamous outgoing scene: &lt;strong&gt;Lan Kwai Fong&lt;/strong&gt;, popularized in the west thanks to success of Hong Kong cinema, although I can’t say I particularly enjoyed the atmosphere there.&lt;/p&gt;
&lt;p&gt;Hong Kong has a reputation as shopping paradise, due tax-free shopping and a haggling culture on the many street markets located both in the Kowloon strip and Hong Kong Island. We spent some time walking around &lt;strong&gt;Li Yuen Street Market&lt;/strong&gt; in Central, and the popular &lt;strong&gt;Ladies’ Market&lt;/strong&gt; in Kowloon. Even during week days, these places are fairly crowded and in combination with less-than-stellar air quality make these trips quite exhausting.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/46909452195/" title="Market"&gt;&lt;img alt="Market" src="https://live.staticflickr.com/65535/46909452195_c814f3bc0d_z.jpg" style="height:480px; width:500px;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h3 id="kowloon"&gt;&lt;a class="toclink" href="#kowloon"&gt;Kowloon&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;We spent most of our time around Tsim Sha Tsui, one of Hong Kong’s busiest neighborhoods, situated across Hong Kong Island’s many skyscrapers on Hong Kong’s Kowloon Peninsula.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/47036135014//" title="Victoria Harbour"&gt;&lt;img alt="Victoria Harbour" src="https://live.staticflickr.com/65535/47036135014_fa959e6268_z.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;The Hong Kong Cultural Center and surrounding Avenue of Stars on Tsim Sha Tsui’s waterfront offer a stunning view of Hong Kong island’s cityscape. Furthermore, the region has a daily light-show at 8PM, known as A Symphony of Lights; accompanied by an orchestral soundtrack, decorative lights and lasers on both sides lit up in bright neon colors.&lt;/p&gt;
&lt;p&gt;The nearby Nathan Road and Shanghai Street are central shopping streets with a hectic mixture of high brand mega malls, restaurants and coffee shops, as well as smaller shops and boutiques overrun by tourists and locals alike.&lt;/p&gt;
&lt;p&gt;One of the other unique locations was Chungking Mansions, an immense building formerly used Wong Kar-Wai’s Chungking Express, and known for being a mixture of incredibly cheap and small hostels, Indian, Nepalese and African eateries, electrical stores, foreign exchange offices, but also less legal practices. The brief time we spent walking around inside was unlike any other experience I’ve ever had. Countless times I was whispered into my ear offers for things ranging from cheap tailored suits to drugs and prostitution, but one time someone offered a compliment on my hairstyle, so that made up for things.&lt;/p&gt;
&lt;p&gt;Regardless, as a cultural hotpot this place is a goldmine for anthropologists researching glottalization in Hong Kong.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/47036136334/in/album-72157708382487385/" title="Chung King"&gt;&lt;img alt="Chung King" src="https://live.staticflickr.com/65535/47036136334_fb9db8ace4_z.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;a class="center border" href="https://www.flickr.com/photos/147061735@N04/47773565162/in/album-72157708382487385/" title="Hong Kong"&gt;&lt;img alt="Hong Kong" src="https://live.staticflickr.com/65535/47773565162_5401013b2a_z.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Of interest was Yum Cha, a Dim Sum restaurant which, while notorious for its weak customer service, is incredibly popular amongst Japanese tourists for its Instagram-worthy sweet Dim Sums.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/46909446635/in/album-72157708382487385/" title="Yum Cha"&gt;&lt;img alt="Yum Cha" src="https://live.staticflickr.com/65535/46909446635_cb3d73ce20_z.jpg" style="height:500px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h2 id="macau"&gt;&lt;a class="toclink" href="#macau"&gt;Macau&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;On my last day before returning to Japan we took a day trip to Macau (澳门), a Special Administrative Region of the PRC and until 1999 a former colony of Portugal.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/47775008522/in/album-72157678196384197/" title="Macau"&gt;&lt;img alt="Macau" src="https://live.staticflickr.com/65535/47775008522_3a0dccdf5c_z.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;a class="center border" href="https://www.flickr.com/photos/147061735@N04/40860682503/in/album-72157678196384197/" title="Casino"&gt;&lt;img alt="Casino" src="https://live.staticflickr.com/65535/40860682503_8d6f3153ef_z.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;The trip to Macau is quite cheap, and as an incredibly cheap flight destination it was financially more convenient to return to Japan through Macau’s airport. Although easily accessible by ferry, Macau is unrelated to Hong Kong and does requires a separate immigration process. Despite Macau’s rich history, the region is known primarily as Asia’s biggest gambling hub (generation more revenue as in Las Vegas) and attracts mostly tourists from mainland China interested in casino’s.&lt;/p&gt;
&lt;p&gt;Macau is divided into the island &lt;strong&gt;Taipa&lt;/strong&gt; (氹仔, where Macau’s airport and The Venetian, world’s largest casino, are located) and the &lt;strong&gt;Macau Peninsula&lt;/strong&gt; (澳門半島) connected to mainland China. The various casinos offer free shuttle buses covering both the island and peninsula, rendering public transport almost unnecessary. Casino’s offer free luggage service as well, regardless of reservations.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/40860681393/in/album-72157678196384197/" title="Wynn Casino"&gt;&lt;img alt="Wynn Casino" src="https://live.staticflickr.com/65535/40860681393_caffb58199_z.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;a class="center border" href="https://www.flickr.com/photos/147061735@N04/47775004272/in/album-72157678196384197/" title="Casino"&gt;&lt;img alt="Casino" src="https://live.staticflickr.com/65535/47775004272_62cf376bb2_z.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;The juxtaposing of Portuguese and Chinese culture in Macau’s landscape, or at least what remains visible, is fascinating to say the least. My attention however was drawn more towards the contrast of massive themed casino’s (such as The Venetian) set against undeveloped ground, construction sites and almost slum-like residential regions undergoing gentrification.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/46910915135/in/album-72157678196384197/" title="Macau"&gt;&lt;img alt="Macau" src="https://live.staticflickr.com/65535/46910915135_8dda0af60f_z.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h1 id="music"&gt;&lt;a class="toclink" href="#music"&gt;Music &lt;i class="icon-music small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;While traveling, I make it a habit of finding good music by listening to local radio stations or asking recommendations to people I meet in hostels or bars, as my own form of personal souvenir. One of Hong Kong’s most popular musicians right now is Eason Chan, famous both in the Mandopop and Cantopop scene, but it’s honestly not that my thing. Instead I quite enjoy &lt;strong&gt;More Reverb&lt;/strong&gt;, a young Hong Kong instrumental post-rock band.&lt;/p&gt;
&lt;p&gt;&lt;span class="videobox"&gt;
&lt;iframe allowfullscreen="" frameborder="0" height="390" mozallowfullscreen="" src="https://www.youtube.com/embed/zINu6ByHl5U" webkitallowfullscreen="" width="640"&gt;
&lt;/iframe&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;h1 id="conclusion"&gt;&lt;a class="toclink" href="#conclusion"&gt;Conclusion &lt;i class="icon-smile small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;After having lived in Japan for almost 18 months, and coming straight from Taiwan, Hong Kong was quite a surprise, with strong contrasts both in terms of its international atmosphere and division of wealth. While I would’ve liked to have explored more, I was lucky to be accompanied with friends who showed me around and introduced me various locations and nice food. On a personal note, I had a period where I watched a lot of Hong Kong cinema, starting with Bruce Lee Kung Fu movies during when I practiced Kung Fu myself, to the Hong Kong New Wave and 90’s scene with famous directors and actors as Andrew Lau, johnnie To, Wong Kar-wai, Maggie Cheung, Tony Leung and Leslie Cheung. Visiting the location of those movies in real life was really cool!&lt;/p&gt;
&lt;p&gt;As China’s only legal gambling hub, my trip to Macau offered a fascinating glimpse into the world of the rising Chinese nouveau riche class, which by far overshadows the colonial atmosphere the region has. Not being dirty rich myself however, I will probably limit my time in Macau to this one day-trip.&lt;/p&gt;
&lt;h1 id="gallery-hong-kong"&gt;&lt;a class="toclink" href="#gallery-hong-kong"&gt;Gallery Hong Kong &lt;i class="icon-camera-retro small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;style&gt;.embed-container { position: relative; padding-bottom: 56.25%; padding-top: 30px; height: 0; overflow: hidden; max-width: 100%; height: auto; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }&lt;/style&gt;
&lt;div class="embed-container"&gt;&lt;iframe allowfullscreen="" frameborder="0" mozallowfullscreen="" msallowfullscreen="" oallowfullscreen="" src="https://www.flickr.com/photos/147061735@N04/sets/72157708382487385/player" webkitallowfullscreen=""&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;h1 id="gallery-macau"&gt;&lt;a class="toclink" href="#gallery-macau"&gt;Gallery Macau &lt;i class="icon-camera-retro small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;style&gt;.embed-container { position: relative; padding-bottom: 56.25%; padding-top: 30px; height: 0; overflow: hidden; max-width: 100%; height: auto; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }&lt;/style&gt;
&lt;div class="embed-container"&gt;&lt;iframe allowfullscreen="" frameborder="0" mozallowfullscreen="" msallowfullscreen="" oallowfullscreen="" src="https://www.flickr.com/photos/147061735@N04/sets/72157678196384197/player" webkitallowfullscreen=""&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;div class="footnote"&gt;
&lt;hr/&gt;
&lt;ol&gt;
&lt;li id="fn-footnote"&gt;
&lt;p&gt;Hong Kong by Stevie Poppe (&lt;a href="https://flic.kr/p/2fMA1vY"&gt;https://flic.kr/p/2fMA1vY&lt;/a&gt; - CC BY-SA 2.0) &lt;a class="footnote-backref" href="#fnref-footnote" title="Jump back to footnote 1 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="Personal"></category><category term="Travels"></category><category term="Hong Kong"></category><category term="Macau"></category></entry><entry><title>Travels: Taiwan</title><link href="https://steviepoppe.net/blog/2019/05/travels-taiwan/" rel="alternate"></link><published>2019-05-07T00:00:00+02:00</published><updated>2019-05-07T00:00:00+02:00</updated><author><name>Stevie Poppe</name></author><id>tag:steviepoppe.net,2019-05-07:/blog/2019/05/travels-taiwan/</id><summary type="html">

&lt;p&gt;At the end of my third semester in Japan, I took use of an extended school holiday &lt;em&gt;and&lt;/em&gt; my last remaining months in Japan to plan a short trip to Taiwan and Hong Kong. During my stay I’ve had the pleasure to acquaint people from both regions and took this as the perfect excuse for some last minute sightseeing.&lt;/p&gt;

&lt;h1 id="brief-history"&gt;&lt;a class="toclink" href="#brief-history"&gt;Brief history &lt;i class="icon-history small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;The Island of Taiwan (governed since 1945 by the Republic of China, 中華民國) is an East Asian state located southwest of the Japanese Okinawan islands. Dutch colonization and consequent annexation by the Qing dynasty in the 17&lt;sup&gt;th&lt;/sup&gt; century, as well as annexation and five decades of rule by by the Empire of Japan after the Sino-Japanese war of 1894-1895, have had a drastic impact on Taiwan’s demography, and presently the Taiwanese indigenous people make up only 2% of the population. Taiwan’s political status and its relation to mainland China, as well as domestic opinions on Japan, remains controversial topics. Nevertheless, the ease of entry for foreign visitors, as well as Taiwan’s scenic beauty and vibrant cultural scene have made Taiwan a popular destination for both mainland Chinese and Japanese nationals.&lt;/p&gt;
&lt;h1 id="itinerary"&gt;&lt;a class="toclink" href="#itinerary"&gt;Itinerary &lt;i class="icon-plane small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Due budget and time restraints I spent just two nights in Taiwan: centered around Taipei with one day trip to some of the more famous spots amongst Japanese tourists. I took an early flight from Tokyo’s &lt;strong&gt;Haneda Airport&lt;/strong&gt; to &lt;strong&gt;Taiwan Taoyuan International Airport&lt;/strong&gt; and arrived in Taipei Airport around noon. Preliminary preparations including currency exchange and the purchase of EasyCard RFID smart-card (with student discount) for the Taipei Metro transit system. Like Pasmo and Suica cards in Japan this card is widely accepted in convenience stores and retail outlets as well so I ended up using this as my primary means of payment.&lt;/p&gt;
&lt;h2 id="day-1-taipei"&gt;&lt;a class="toclink" href="#day-1-taipei"&gt;Day 1: Taipei&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;After a brisk short train ride I arrived at Taipei Station and experienced Taipei’s outside air and surroundings for the first time. It was by all means a beautiful, sunny day, but due the time of the year quite humid as well and I realized I’m not particularly good at dealing with tropical temperatures. Luckily my hostel, located near the National Taiwan Museum and Peace Park, was but a short walk from the station. On my way, I was struck by the amount of palm trees and the widespread use of …&lt;/p&gt;</summary><content type="html">

&lt;p&gt;At the end of my third semester in Japan, I took use of an extended school holiday &lt;em&gt;and&lt;/em&gt; my last remaining months in Japan to plan a short trip to Taiwan and Hong Kong. During my stay I’ve had the pleasure to acquaint people from both regions and took this as the perfect excuse for some last minute sightseeing.&lt;/p&gt;

&lt;h1 id="brief-history"&gt;&lt;a class="toclink" href="#brief-history"&gt;Brief history &lt;i class="icon-history small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;The Island of Taiwan (governed since 1945 by the Republic of China, 中華民國) is an East Asian state located southwest of the Japanese Okinawan islands. Dutch colonization and consequent annexation by the Qing dynasty in the 17&lt;sup&gt;th&lt;/sup&gt; century, as well as annexation and five decades of rule by by the Empire of Japan after the Sino-Japanese war of 1894-1895, have had a drastic impact on Taiwan’s demography, and presently the Taiwanese indigenous people make up only 2% of the population. Taiwan’s political status and its relation to mainland China, as well as domestic opinions on Japan, remains controversial topics. Nevertheless, the ease of entry for foreign visitors, as well as Taiwan’s scenic beauty and vibrant cultural scene have made Taiwan a popular destination for both mainland Chinese and Japanese nationals.&lt;/p&gt;
&lt;h1 id="itinerary"&gt;&lt;a class="toclink" href="#itinerary"&gt;Itinerary &lt;i class="icon-plane small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Due budget and time restraints I spent just two nights in Taiwan: centered around Taipei with one day trip to some of the more famous spots amongst Japanese tourists. I took an early flight from Tokyo’s &lt;strong&gt;Haneda Airport&lt;/strong&gt; to &lt;strong&gt;Taiwan Taoyuan International Airport&lt;/strong&gt; and arrived in Taipei Airport around noon. Preliminary preparations including currency exchange and the purchase of EasyCard RFID smart-card (with student discount) for the Taipei Metro transit system. Like Pasmo and Suica cards in Japan this card is widely accepted in convenience stores and retail outlets as well so I ended up using this as my primary means of payment.&lt;/p&gt;
&lt;h2 id="day-1-taipei"&gt;&lt;a class="toclink" href="#day-1-taipei"&gt;Day 1: Taipei&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;After a brisk short train ride I arrived at Taipei Station and experienced Taipei’s outside air and surroundings for the first time. It was by all means a beautiful, sunny day, but due the time of the year quite humid as well and I realized I’m not particularly good at dealing with tropical temperatures. Luckily my hostel, located near the National Taiwan Museum and Peace Park, was but a short walk from the station. On my way, I was struck by the amount of palm trees and the widespread use of motorcycles. I thought there was some motorcycle event going on but this turned out to be just a daily thing.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/40853549033/" title="Taipei Peace Park"&gt;&lt;img alt="Taipei Peace Park" src="https://live.staticflickr.com/65535/40853549033_584a87b8fd_z.jpg" style="height:480px; width:500px;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;After checking in and refreshing myself, I went out to explore my surroundings, spending a fair amount of time at the beautiful &lt;strong&gt;228 Peace Park&lt;/strong&gt;. Some elderly people were practicing &lt;em&gt;taichi&lt;/em&gt; and one man appeared to be practicing operatic singing; a bit of an unusual activity in public spaces, but not particularly displeasing. From there I took a subway to Taipei’s most well-known temple, the 300 year old folk religious &lt;strong&gt;Longshan Temple&lt;/strong&gt; (龍山寺). The history of the temple, its syncretistic background (the temple originated as a Buddhist place of worship but incorporates elements of Taoism and folk religions as well) and architectural design were fascinating to observe.&lt;/p&gt;
&lt;p&gt;My next planned destination was the so-called &lt;strong&gt;Elephant Mountain&lt;/strong&gt; (象山); a steep hill and popular hiking trail near the massive &lt;strong&gt;Taipei 101 tower&lt;/strong&gt;. Despite the heat the trail was quite busy; drawing in tourists and locals alike to view the phenomenal sunset over the city. One man, shirtless, took the opportunity to show us his physical prowess by repeatedly jogging up-and-down and performing push-ups every few steps.&lt;/p&gt;
&lt;p&gt;The view from the top was phenomenal. Several large, climbable stones give the opportunity for tourists to take Instagramable photographs, creating the illusion of peaceful solitude. Said spot was however quite crowded and due the academic holidays in Japan, filled with young Japanese people visiting Taiwan as a graduate trip.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/47820062191/" title="Elephant Mountain"&gt;&lt;img alt="Elephant Mountain" src="https://live.staticflickr.com/65535/47820062191_fe1708207b_z.jpg" style="height:480px; width:500px;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;After a beautiful sunset, I descended the mountain and headed towards Taipei 101, formerly the world’s tallest skyscraper and known for its distinct postmodernist architectural style. While a bit steep, I did enter the building and rode the elevator to the top floors. The skyscraper has a visible ‘tuned mass damper’, a massive steel pendulum designed to protect and offset movement from strong winds or earthquakes. Though clearly touristic in nature, the surroundings of the building were quite lovely as well; with a variety of artwork and a cute structure based on Chinese children’s book &lt;em&gt;When the Moon Forgot&lt;/em&gt;.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/47820061431/in/album-72157680339192988/" title="Taipei 101"&gt;&lt;img alt="Taipei 101" src="https://live.staticflickr.com/65535/47820061431_33976c07a5_z.jpg" style="height: 45%;"/&gt;&lt;/a&gt;
&lt;a class="center border" href="https://www.flickr.com/photos/147061735@N04/47820061901/in/album-72157680339192988/" title="Taipei 101"&gt;&lt;img alt="Taipei 101" src="https://live.staticflickr.com/65535/47820061901_2bac5f0421_z.jpg" style="height: 45%;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Finally, I spent the evening by strolling through a nearby night market, the &lt;strong&gt;Linjiang Night Market&lt;/strong&gt; (臨江夜市, also known as &lt;strong&gt;Tonghua Night Market&lt;/strong&gt; 通化夜市 due its proximity to &lt;strong&gt;Linjiang Street&lt;/strong&gt; and &lt;strong&gt;Tonghua Street&lt;/strong&gt;). Aside from the compulsory Taiwanese bubble tea, I enjoyed popular street food such as &lt;em&gt;stinky tofu&lt;/em&gt;, steam fried buns and egg tarts.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/47820060641/in/album-72157680339192988/" title="Stinky Tofu"&gt;&lt;img alt="Stinky Tofu" src="https://live.staticflickr.com/65535/47820060641_73a4519115_z.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;a class="center border" href="https://www.flickr.com/photos/147061735@N04/46903680505/in/album-72157680339192988/" title="Ninxia street market"&gt;&lt;img alt="Ninxia street market" src="https://live.staticflickr.com/65535/46903680505_c74af07592_z.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h2 id="day-2-day-trip-pingxi-line"&gt;&lt;a class="toclink" href="#day-2-day-trip-pingxi-line"&gt;Day 2: Day-trip - Pingxi Line (平溪線)&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;My day-trip today was centered around probably the most popular tourist destinations near Taipei, often combined in one day trip: the towns of &lt;strong&gt;Shifen&lt;/strong&gt; (十分), which is known for its railway market street, floating lanterns and lush waterfall) along with &lt;strong&gt;Jiufen&lt;/strong&gt; (九份, often associated with Ghibli’s award-winning animation Spirited Away). Getting to both places was enough but required a short trip from Taipei Station to a small nearby village called &lt;strong&gt;Ruifang&lt;/strong&gt; (瑞芳), from where one can access the Pingxi Line: a short railway line connecting former mining villages around the &lt;strong&gt;Pingxi Valley&lt;/strong&gt; (平溪). I personally recommend purchasing a cheap Pingxi Line day pass as many of the destinations on the line are worth visiting.&lt;/p&gt;
&lt;h3 id="shifen"&gt;&lt;a class="toclink" href="#shifen"&gt;Shifen (十分)&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;On my way to Shifen I befriended an elderly Japanese couple who happen to live quite close to my apartment in Tokyo. One of the two actually graduated from Chuo University, a pleasant coincidence.&lt;/p&gt;
&lt;p&gt;After exiting the station, I landed straight on Shifen’s main street, the &lt;strong&gt;Shifen Old Street&lt;/strong&gt; (十分老街). A popular scenic spot, the Pingxi Line runs straight through this pad. When the train passed, paying visitors write their wishes on large &lt;em&gt;sky lanterns&lt;/em&gt; and set them off in the sky.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/47767779072/in/album-72157680339192988/" title="Shifen"&gt;&lt;img alt="Shifen" src="https://live.staticflickr.com/65535/47767779072_3a7a804879_z.jpg" style="height:500px;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;North of the Old Street, a scenic path leads to the famous 30-meter-wide Shifen Waterfall (十分大瀑布); a bit hard to portray through just pictures, but this alone was worth the Pingxi Line trip.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/47767797542/in/album-72157680339192988/" title="Golden waterfall"&gt;&lt;img alt="Golden waterfall" src="https://live.staticflickr.com/65535/47767797542_34ba8eff30_z.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;a class="center border" href="https://www.flickr.com/photos/147061735@N04/33942686548/in/album-72157680339192988/" title="Golden waterfall"&gt;&lt;img alt="Golden waterfall" src="https://live.staticflickr.com/65535/33942686548_c9c85f3000_z.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h3 id="houtong-cat-village"&gt;&lt;a class="toclink" href="#houtong-cat-village"&gt;Houtong Cat Village (猴硐貓村)&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Like other villages on the Pingxi line, the village of Houtong was traditionally a mining village, and due the well-kept state of its mining infrastructure; offers curious visitors a brief glimpse in its mining history. The primary reason for its touristic growth however is due its immense cat population; claimed to be twice that of its local (human) population. Some boutiques offered quite cute cat-themed hand-made trinkets or desserts, and I couldn’t help myself to this amazingly cute cat cake.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/32876151867/in/album-72157680339192988/" title="Houtong Cat Village cat cake"&gt;&lt;img alt="Houtong Cat Village cat cake" src="https://live.staticflickr.com/65535/32876151867_fefe873f0c_z.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;a class="center border" href="https://www.flickr.com/photos/147061735@N04/32876151847/in/album-72157680339192988/" title="Houtong Cat Village"&gt;&lt;img alt="Houtong Cat Village" src="https://live.staticflickr.com/65535/32876151847_06b05866cc_z.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h3 id="jiufen"&gt;&lt;a class="toclink" href="#jiufen"&gt;Jiufen (九份)&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;After my trip through the Pingxi area, I returned to Ruifang and scheduled my next trip, the former gold mining mountain village of Jiufen. On my way to the bus stop, I hoped to purchase a snack at a local food stall. While queuing in line I was however denied by the proprietor who claimed their food to be sold out (没有！没有！). My limited knowledge of the Mandarin language was however sufficient to defend my honor while walking away (真的沒有嗎？好的，我明白了。). Nevertheless it was a bit frustrating to see those behind me in the queue being served after all.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/32876151987/in/album-72157680339192988/" title="Jiufen"&gt;&lt;img alt="Jiufen" src="https://live.staticflickr.com/65535/32876151987_d85c55d283_z.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;a class="center border" href="https://www.flickr.com/photos/147061735@N04/40853527613/in/album-72157680339192988/" title="Jiufen"&gt;&lt;img alt="Jiufen" src="https://live.staticflickr.com/65535/40853527613_d1b48bdeb2_z.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Visually, Jiufen reflects the rapid development it underwent as a gold mining town under Japanese occupation, with many wooden structures having a unique colonial-era Japanese feeling. &lt;strong&gt;A-mei Tea House&lt;/strong&gt; (阿妹茶楼) in particular, due its resemblance to Japanese animation Spirited Away’s bathhouse, draws huge amounts of Japanese crowds. Facing Taiwan’s northeast coast, Jiufen scenery at night is breathtaking. The wooden structures in &lt;strong&gt;Jiufen old street&lt;/strong&gt; (九份老街) undergo a drastic transformation once the many red lanterns are lit at night; and while crowded even during average weekdays, remains magical to say the least.&lt;/p&gt;
&lt;p&gt;Drained of energy, I lined up at the A-mei Tea House for a break; and while queuing incidentally met the Japanese couple next to me on the airplane. Turns out they live near Ikebukuro, a region of Tokyo I visit on a near-daily base. Not surprisingly, their two-night visit to Taiwan was planned as a graduation trip, with Jiufen as personal highlight.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/47767788782/" title="A-MEI Tea House in Jiufen"&gt;&lt;img alt="A-MEI Tea House in Jiufen" src="https://live.staticflickr.com/65535/47767788782_332b4dc31e_z.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;From Jiufen, I took a late night shuttle bus back to Taipei. Two Japanese girls next to me struck up a conversation with me; and again it turned out they live relatively to my region. Starting to feel like a conspiracy theory, but statistically not unrealistic considering I was living in one of the most populous regions of the world. One of the two told a cute story of how she met her boyfriend on a Japanese learning application and planned a working holiday in India to be with him.&lt;/p&gt;
&lt;p&gt;Unrelated but the brown sugar boba milk tea I order at the Jiufen storefront of popular Taiwanese Bubble Milk Tea brand &lt;strong&gt;Xing Fu Tang&lt;/strong&gt; (幸福堂), was by far the best I’ve had this trip.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/47820041351/in/album-72157680339192988/" title="Xing Fu Tang bubbletea"&gt;&lt;img alt="Xing Fu Tang bubbletea" src="https://live.staticflickr.com/65535/47820041351_26c96e77ff_z.jpg" style="height:500px;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h2 id="day-3-taipei"&gt;&lt;a class="toclink" href="#day-3-taipei"&gt;Day 3: Taipei&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Although I’d have loved to spent more time around Taipei or in Taiwan in general, I had a flight to Hong Kong planned at night and the scorching heat this day prevented me from strenuous trips. I passed by the &lt;strong&gt;Chiang Kai Shek Memorial Hall&lt;/strong&gt; (中正紀念堂) before spending my last hours in &lt;strong&gt;Ningxia Night Market&lt;/strong&gt; (寧夏夜市) stocking up on the compulsory gifts for back home, and ordering one last tapioca milk tea.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/40853527033/" title="Chiang Kai Shek Memorial Hall"&gt;&lt;img alt="Chiang Kai Shek Memorial Hall" src="https://live.staticflickr.com/65535/40853527033_e3f4550d30_z.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h1 id="music"&gt;&lt;a class="toclink" href="#music"&gt;Music &lt;i class="icon-music small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;While traveling, I’ve made it habit of listening to local radio stations or ask for recommendations on any local music scene, as a form of personal souvenir. I’ve become quite fond of the Taiwanese-born &lt;a href="https://en.wikipedia.org/wiki/A-Mei"&gt;A-Mei&lt;/a&gt;, one of the most successful Manderin-singing pop musicians alive. The following track is of the 2015 album AMIT2, an album I’ve listened to many times since my return to Belgium.&lt;/p&gt;
&lt;p&gt;&lt;span class="videobox"&gt;
&lt;iframe allowfullscreen="" frameborder="0" height="390" mozallowfullscreen="" src="https://www.youtube.com/embed/IE-G5W--RhE" webkitallowfullscreen="" width="640"&gt;
&lt;/iframe&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;h1 id="conclusion"&gt;&lt;a class="toclink" href="#conclusion"&gt;Conclusion &lt;i class="icon-smile small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;It is difficult to make general conclusions on just several days of sightseeing, but at the very least I was taken a bit aback by the amount of Japanese tourists in Taipei. While I expected Jiufen and the A-mei teahouse to be popular due its association with the bathhouse in Spirited Away, it wouldn’t be that much of an exaggeration to claim the language I heard the most was Japanese rather than Mandarin. At some times while eating out or browsing in shops, it was actually easier for me as a foreign tourist to communicate in Japanese rather than in English; something I felt a bit mixed about. Talks with Taiwanese friends revealed a strong positive attitude towards Japan. Younger people care little for its colonial history and are drawn to Japan’s soft-power as cultural powerhouse; which was undeniably visibly present anywhere I went.&lt;/p&gt;
&lt;p&gt;That aside, I had a lovely stay and immensely enjoyed the scenery, cuisine and vibrant atmosphere Taipei and its surroundings offered.&lt;/p&gt;
&lt;h1 id="gallery"&gt;&lt;a class="toclink" href="#gallery"&gt;Gallery &lt;i class="icon-camera-retro small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;style&gt;.embed-container { position: relative; padding-bottom: 56.25%; padding-top: 30px; height: 0; overflow: hidden; max-width: 100%; height: auto; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }&lt;/style&gt;
&lt;div class="embed-container"&gt;&lt;iframe allowfullscreen="" frameborder="0" mozallowfullscreen="" msallowfullscreen="" oallowfullscreen="" src="https://www.flickr.com/photos/147061735@N04/sets/72157680339192988/player" webkitallowfullscreen=""&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;div class="footnote"&gt;
&lt;hr/&gt;
&lt;ol&gt;
&lt;li id="fn-footnote"&gt;
&lt;p&gt;Bubbletea in Ninxia Street Market by Stevie Poppe (&lt;a href="https://flic.kr/p/2fM5qfG"&gt;https://flic.kr/p/2fM5qfG&lt;/a&gt; - CC BY-SA 2.0) &lt;a class="footnote-backref" href="#fnref-footnote" title="Jump back to footnote 1 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="Personal"></category><category term="Travels"></category><category term="Taiwan"></category></entry><entry><title>A Quick Guide on Using Anki 5: an efficient vocab mining set-up with Anki and Yomichan [2021 UPDATE]</title><link href="https://steviepoppe.net/blog/2019/04/a-quick-guide-on-using-anki-5-an-efficient-vocab-mining-set-up-with-anki-and-rikaisama-yomichan/" rel="alternate"></link><published>2019-04-17T00:00:00+02:00</published><updated>2021-04-17T00:00:00+02:00</updated><author><name>Stevie Poppe</name></author><id>tag:steviepoppe.net,2019-04-17:/blog/2019/04/a-quick-guide-on-using-anki-5-an-efficient-vocab-mining-set-up-with-anki-and-rikaisama-yomichan/</id><summary type="html">&lt;p&gt;As an undergraduate student I wrote several blog-posts and tutorials throughout 2016 on how I’ve personally integrated Anki in my daily life. One of those entries extensively documented how to connect Anki with Firefox to vocab-mine Japanese texts in my browser with JPod101 audio-readings, example-sentences and Japanese dictionary definitions; posts that became somewhat high-ranking when looking up all things Anki. The Anki-integrated Firefox pop-up dictionary Rikaisama has since then becoming obsolete, and I have since mostly relied on Yomichan instead. Hence this periodically updated guide.&lt;sup&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;So it’s 20&lt;strong&gt;XX&lt;/strong&gt;, wasting valuable time on automatable processes bores you and you’re keen on integrating technology more efficiently in your Japanese language-acquisition. Concretely you want to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;i class="icon-check"&gt;&lt;/i&gt; Vocab-mine Japanese texts you’re reading both on- and off-line using Chrome or Firefox.&lt;/li&gt;
&lt;li&gt;&lt;i class="icon-check"&gt;&lt;/i&gt; Improve your retention-rate with hover-able &lt;strong&gt;furigana&lt;/strong&gt; reading-aids and crystal-clear audio-readings.&lt;/li&gt;
&lt;li&gt;&lt;i class="icon-check"&gt;&lt;/i&gt; Contextualize your cards with Japanese example sentences.&lt;/li&gt;
&lt;li&gt;&lt;i class="icon-check"&gt;&lt;/i&gt; Rely not just solely on foreign-language translations, but use Japanese dictionary definitions for optimized studying.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr/&gt;
&lt;p&gt;Basically, you want cards like this:&lt;/p&gt;
&lt;p&gt;&lt;img alt="ankiexample" class="hwimportant fborder fcenter" src="https://steviepoppe.net/images/anki/ankiexample.gif" title="ankiexample"/&gt;&lt;/p&gt;
&lt;p&gt;What options are available then, sans going all the way and developing said tools yourself?&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;If you’ve previously used the Rikaisama pop-up dictionary and followed my previous guides, you can continue doing so using a Firefox-derived browser. I still recommend this method for longer texts such as novels. Head to section &lt;a href="#rikaisama"&gt;Rikaisama&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;If you’re new to this site or method, use the Chrome / Firefox add-on Yomichan. It’s user-friendly, highly adjustable and has tons of features. Head to section &lt;a href="#yomichan"&gt;Yomichan&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h1 id="yomichan"&gt;&lt;a class="toclink" href="#yomichan"&gt;Yomichan&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Developed by &lt;a href="https://foosoft.net/"&gt;Foosoft Productions&lt;/a&gt; - a household name amongst the Anki-utilizing online learning community - Yomichan originated as a stand-alone book-reader with Anki-integration,&lt;sup&gt;&lt;/sup&gt; until it in its current form became the most complete Rikaisama alternative.&lt;/p&gt;
&lt;p&gt;Similarly to Rikaisama, we’ll use Yomichan to vocab-mine Japanese texts and generate extensive Anki-cards with Jpod101 audio-readings, example sentences, &lt;em&gt;furigana&lt;/em&gt;, and Japanese definitions. Furthermore, for ex-Rikaisama users, Yomichan definitely has the upper hand concerning user-friendliness and adaptability.&lt;/p&gt;
&lt;h2 id="set-up"&gt;&lt;a class="toclink" href="#set-up"&gt;Set-up&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Another benefit of this plug-in is that it’s cross-platform, available both on &lt;a href="https://sourceforge.net/projects/rikaisama/files/"&gt;Firefox&lt;/a&gt; and &lt;a href="https://sourceforge.net/projects/rikaisama/files/"&gt;Chrome&lt;/a&gt;. Pick your platform of choice and after installing we’ll start the initial set-up.&lt;/p&gt;
&lt;p&gt;It’s worth checking out &lt;a href="https://foosoft.net/projects/yomichan/"&gt;Yomichan’s homepage&lt;/a&gt; as it contains an extensive manual. This guide will focus purely on connecting Yomichan to Anki, setting up a proper template for our cards, and facilitate generating example sentences and Japanese definitions.&lt;/p&gt;
&lt;div class="admonition note"&gt;
&lt;p class="admonition-title"&gt;Note&lt;/p&gt;
&lt;p&gt;Yomichan can’t parse …&lt;/p&gt;&lt;/div&gt;</summary><content type="html">&lt;p&gt;As an undergraduate student I wrote several blog-posts and tutorials throughout 2016 on how I’ve personally integrated Anki in my daily life. One of those entries extensively documented how to connect Anki with Firefox to vocab-mine Japanese texts in my browser with JPod101 audio-readings, example-sentences and Japanese dictionary definitions; posts that became somewhat high-ranking when looking up all things Anki. The Anki-integrated Firefox pop-up dictionary Rikaisama has since then becoming obsolete, and I have since mostly relied on Yomichan instead. Hence this periodically updated guide.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-1" id="fnref-1" rel="footnote"&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;

&lt;p&gt;So it’s 20&lt;strong&gt;XX&lt;/strong&gt;, wasting valuable time on automatable processes bores you and you’re keen on integrating technology more efficiently in your Japanese language-acquisition. Concretely you want to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;i class="icon-check"&gt;&lt;/i&gt; Vocab-mine Japanese texts you’re reading both on- and off-line using Chrome or Firefox.&lt;/li&gt;
&lt;li&gt;&lt;i class="icon-check"&gt;&lt;/i&gt; Improve your retention-rate with hover-able &lt;strong&gt;furigana&lt;/strong&gt; reading-aids and crystal-clear audio-readings.&lt;/li&gt;
&lt;li&gt;&lt;i class="icon-check"&gt;&lt;/i&gt; Contextualize your cards with Japanese example sentences.&lt;/li&gt;
&lt;li&gt;&lt;i class="icon-check"&gt;&lt;/i&gt; Rely not just solely on foreign-language translations, but use Japanese dictionary definitions for optimized studying.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr/&gt;
&lt;p&gt;Basically, you want cards like this:&lt;/p&gt;
&lt;p&gt;&lt;img alt="ankiexample" class="hwimportant fborder fcenter" src="https://steviepoppe.net/images/anki/ankiexample.gif" title="ankiexample"/&gt;&lt;/p&gt;

&lt;p&gt;What options are available then, sans going all the way and developing said tools yourself?&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;If you’ve previously used the Rikaisama pop-up dictionary and followed my previous guides, you can continue doing so using a Firefox-derived browser. I still recommend this method for longer texts such as novels. Head to section &lt;a href="#rikaisama"&gt;Rikaisama&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;If you’re new to this site or method, use the Chrome / Firefox add-on Yomichan. It’s user-friendly, highly adjustable and has tons of features. Head to section &lt;a href="#yomichan"&gt;Yomichan&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h1 id="yomichan"&gt;&lt;a class="toclink" href="#yomichan"&gt;Yomichan&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Developed by &lt;a href="https://foosoft.net/"&gt;Foosoft Productions&lt;/a&gt; - a household name amongst the Anki-utilizing online learning community - Yomichan originated as a stand-alone book-reader with Anki-integration,&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-2" id="fnref-2" rel="footnote"&gt;3&lt;/a&gt;&lt;/sup&gt; until it in its current form became the most complete Rikaisama alternative.&lt;/p&gt;
&lt;p&gt;Similarly to Rikaisama, we’ll use Yomichan to vocab-mine Japanese texts and generate extensive Anki-cards with Jpod101 audio-readings, example sentences, &lt;em&gt;furigana&lt;/em&gt;, and Japanese definitions. Furthermore, for ex-Rikaisama users, Yomichan definitely has the upper hand concerning user-friendliness and adaptability.&lt;/p&gt;
&lt;h2 id="set-up"&gt;&lt;a class="toclink" href="#set-up"&gt;Set-up&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Another benefit of this plug-in is that it’s cross-platform, available both on &lt;a href="https://sourceforge.net/projects/rikaisama/files/"&gt;Firefox&lt;/a&gt; and &lt;a href="https://sourceforge.net/projects/rikaisama/files/"&gt;Chrome&lt;/a&gt;. Pick your platform of choice and after installing we’ll start the initial set-up.&lt;/p&gt;
&lt;p&gt;It’s worth checking out &lt;a href="https://foosoft.net/projects/yomichan/"&gt;Yomichan’s homepage&lt;/a&gt; as it contains an extensive manual. This guide will focus purely on connecting Yomichan to Anki, setting up a proper template for our cards, and facilitate generating example sentences and Japanese definitions.&lt;/p&gt;
&lt;div class="admonition note"&gt;
&lt;p class="admonition-title"&gt;Note&lt;/p&gt;
&lt;p&gt;Yomichan can’t parse offline files out-of-the-box. If you’re inclined to use Yomichan with offline files (when reading HTML-formatted novels for example), just head to the Chrome/Firefox &lt;strong&gt;settings → extensions&lt;/strong&gt; page and manually allow the add-on to access file URLs.&lt;/p&gt;
&lt;/div&gt;
&lt;h3 id="dictionaries"&gt;&lt;a class="toclink" href="#dictionaries"&gt;Dictionaries&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;First, download your preferred &lt;a href="https://foosoft.net/projects/yomichan/"&gt;dictionaries&lt;/a&gt; and add them in your browser’s Yomichan settings page.&lt;/p&gt;
&lt;h3 id="integrating-anki"&gt;&lt;a class="toclink" href="#integrating-anki"&gt;Integrating Anki&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;To integrate Yomichan into Anki, we’ll need to install &lt;a href="https://foosoft.net/projects/anki-connect/index.html"&gt;Anki-Connect&lt;/a&gt;, an Anki plug-in specifically tailored to Yomichan. Open Anki on your desktop, go to &lt;strong&gt;Tools → Add-ons → Browse &amp;amp; Install&lt;/strong&gt;, and copy-paste &lt;strong&gt;2055492159&lt;/strong&gt; in the pop-up dialog.&lt;/p&gt;
&lt;p&gt;Now, we’ll create a new set to contain our Yomichan-powered cards. We want cards containing the expression (and hover-able &lt;em&gt;furigana&lt;/em&gt; reading), its definition in our language of choice, audio readings and example sentences. For this, we’ll create a new &lt;strong&gt;‘note-type’&lt;/strong&gt; with fields corresponding to the info we’d like to see in our cards. We probably want to be tested both on the Japanese expression (visual recognition), on its meaning (production) and finally on the audio (oral recognition). To achieve this, we’ll add three &lt;strong&gt;‘card-types’&lt;/strong&gt; to our ‘note-type’.&lt;/p&gt;
&lt;p&gt;Start by creating a new ‘set’, e.g. &lt;code&gt;yomi-vocab&lt;/code&gt;. On Windows, press &lt;span class="keys"&gt;&lt;kbd class="key-control"&gt;Ctrl&lt;/kbd&gt;&lt;span&gt;+&lt;/span&gt;&lt;kbd class="key-shift"&gt;Shift&lt;/kbd&gt;&lt;span&gt;+&lt;/span&gt;&lt;kbd class="key-n"&gt;N&lt;/kbd&gt;&lt;/span&gt;, or click &lt;strong&gt;Tools → Manage Note Types&lt;/strong&gt;, to enter the ‘note-type’ management screen. Select &lt;strong&gt;Add: Basic (and reversed card)&lt;/strong&gt; and click &lt;strong&gt;add → ok&lt;/strong&gt; to create a new ‘note-type’. Call it &lt;code&gt;Yomichan&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img alt="anki-notetypes-s" class="hwimportant fborder fcenter" src="https://steviepoppe.net/images/anki/anki-notetypes-s.jpg" title="anki-notetypes-s"/&gt;&lt;/p&gt;
&lt;p&gt;Next, we’ll be customizing this note-type to better suit our study-method. Select the new Yomichan ‘note-type’ and click &lt;strong&gt;Fields&lt;/strong&gt;. We’ll rename the current front and backside as &lt;code&gt;Expression&lt;/code&gt; and &lt;code&gt;Meaning&lt;/code&gt;, and add three new ‘fields’ &lt;code&gt;Audio&lt;/code&gt;, &lt;code&gt;Examples&lt;/code&gt; and &lt;code&gt;Notes&lt;/code&gt; (that latter one could be used for personal notes).&lt;/p&gt;
&lt;p&gt;Close this screen and select &lt;strong&gt;Cards&lt;/strong&gt;. We’ll manage the different cards this note generates as well as its make-up. We’ll start with a basic layout. In the template section of this screen, click on the &lt;strong&gt;Styling&lt;/strong&gt; radio button and add the following lines of CSS to the bottom. For optimal learning, we’ll keep &lt;em&gt;furigana&lt;/em&gt; &lt;em&gt;kana&lt;/em&gt;-readings displayed only touch/hover. This way learners are less likely to use them as a crutch.&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt;1&lt;/span&gt;
&lt;span class="normal"&gt;2&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="nt"&gt;ruby&lt;/span&gt; &lt;span class="nt"&gt;rt&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="k"&gt;visibility&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;hidden&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nt"&gt;ruby&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nd"&gt;hover&lt;/span&gt; &lt;span class="nt"&gt;rt&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="k"&gt;visibility&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;visible&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;Currently we’ll have two card types: &lt;strong&gt;Card 1: Expression → Meaning&lt;/strong&gt; (e.g. &lt;em&gt;recognition&lt;/em&gt; of vocabulary) and &lt;strong&gt;Card 2: Meaning → Expression&lt;/strong&gt; (e.g. &lt;em&gt;production&lt;/em&gt; and active recalling). Each card will question you on one field (the Japanese expression or the English translation) and show the answer on the backside along with audio and any potential notes.&lt;/p&gt;
&lt;p&gt;Click &lt;strong&gt;Options&lt;/strong&gt; and select &lt;strong&gt;Rename Card Type&lt;/strong&gt; to rename both cards to respectively  &lt;code&gt;Recognition&lt;/code&gt; and &lt;code&gt;Production&lt;/code&gt;. Now let’s edit the actual template of each Card Type’s front and back template to look as follows:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Card 1: Expression → Meaning&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Front Template&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt;1&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="nt"&gt;lang&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"ja"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="err"&gt;{&lt;/span&gt;&lt;span class="n"&gt;furigana&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;Expression&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="err"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Back Template&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt; 1&lt;/span&gt;
&lt;span class="normal"&gt; 2&lt;/span&gt;
&lt;span class="normal"&gt; 3&lt;/span&gt;
&lt;span class="normal"&gt; 4&lt;/span&gt;
&lt;span class="normal"&gt; 5&lt;/span&gt;
&lt;span class="normal"&gt; 6&lt;/span&gt;
&lt;span class="normal"&gt; 7&lt;/span&gt;
&lt;span class="normal"&gt; 8&lt;/span&gt;
&lt;span class="normal"&gt; 9&lt;/span&gt;
&lt;span class="normal"&gt;10&lt;/span&gt;
&lt;span class="normal"&gt;11&lt;/span&gt;
&lt;span class="normal"&gt;12&lt;/span&gt;
&lt;span class="normal"&gt;13&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="err"&gt;{FrontSide&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="err"&gt;}&lt;/span&gt;

&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;hr&lt;/span&gt; &lt;span class="nt"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nt"&gt;answer&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;

&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="err"&gt;{&lt;/span&gt;&lt;span class="n"&gt;furigana&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;Meaning&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="err"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;br&lt;/span&gt;&lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;

&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="err"&gt;{#Notes&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="err"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;br&lt;/span&gt;&lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;b&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nt"&gt;Notes&lt;/span&gt;&lt;span class="o"&gt;:&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;b&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;br&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="err"&gt;{&lt;/span&gt;&lt;span class="n"&gt;furigana&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;Notes&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="err"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;br&lt;/span&gt;&lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="err"&gt;{/Notes&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="err"&gt;}&lt;/span&gt;

&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="err"&gt;{Audio&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="err"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Production&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Front Template&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt;1&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="err"&gt;{&lt;/span&gt;&lt;span class="n"&gt;furigana&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;Meaning&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="err"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;br&lt;/span&gt;&lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Back Template&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt; 1&lt;/span&gt;
&lt;span class="normal"&gt; 2&lt;/span&gt;
&lt;span class="normal"&gt; 3&lt;/span&gt;
&lt;span class="normal"&gt; 4&lt;/span&gt;
&lt;span class="normal"&gt; 5&lt;/span&gt;
&lt;span class="normal"&gt; 6&lt;/span&gt;
&lt;span class="normal"&gt; 7&lt;/span&gt;
&lt;span class="normal"&gt; 8&lt;/span&gt;
&lt;span class="normal"&gt; 9&lt;/span&gt;
&lt;span class="normal"&gt;10&lt;/span&gt;
&lt;span class="normal"&gt;11&lt;/span&gt;
&lt;span class="normal"&gt;12&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="err"&gt;{FrontSide&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="err"&gt;}&lt;/span&gt;

&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;hr&lt;/span&gt; &lt;span class="nt"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nt"&gt;answer&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;

&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="nt"&gt;lang&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"ja"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="err"&gt;{&lt;/span&gt;&lt;span class="n"&gt;furigana&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;Expression&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="err"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;

&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="err"&gt;{#Notes&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="err"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;br&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;b&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nt"&gt;Notes&lt;/span&gt;&lt;span class="o"&gt;:&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;b&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;br&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="err"&gt;{&lt;/span&gt;&lt;span class="n"&gt;furigana&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;Notes&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="err"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;br&lt;/span&gt;&lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="err"&gt;{/Notes&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="err"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="err"&gt;{Audio&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="err"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;We’ll also want to test our listening comprehension. Thus, click &lt;strong&gt;Options&lt;/strong&gt; and select &lt;strong&gt;Add Card Type&lt;/strong&gt;. Let’s rename it to &lt;code&gt;Audio&lt;/code&gt; and edit the template as follows:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Audio&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Front Template&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt;1&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="nt"&gt;Listen&lt;/span&gt;&lt;span class="o"&gt;.&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;br&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="err"&gt;{Audio&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="err"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Back Template&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt; 1&lt;/span&gt;
&lt;span class="normal"&gt; 2&lt;/span&gt;
&lt;span class="normal"&gt; 3&lt;/span&gt;
&lt;span class="normal"&gt; 4&lt;/span&gt;
&lt;span class="normal"&gt; 5&lt;/span&gt;
&lt;span class="normal"&gt; 6&lt;/span&gt;
&lt;span class="normal"&gt; 7&lt;/span&gt;
&lt;span class="normal"&gt; 8&lt;/span&gt;
&lt;span class="normal"&gt; 9&lt;/span&gt;
&lt;span class="normal"&gt;10&lt;/span&gt;
&lt;span class="normal"&gt;11&lt;/span&gt;
&lt;span class="normal"&gt;12&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="err"&gt;{FrontSide&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="err"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;hr&lt;/span&gt; &lt;span class="nt"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nt"&gt;answer&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;

&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="nt"&gt;lang&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"ja"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="err"&gt;{&lt;/span&gt;&lt;span class="n"&gt;furigana&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;Expression&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="err"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;br&lt;/span&gt;&lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;

&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="err"&gt;{&lt;/span&gt;&lt;span class="n"&gt;furigana&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;Meaning&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="err"&gt;}&lt;/span&gt;

&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="err"&gt;{#Notes&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="err"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;br&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;b&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nt"&gt;Notes&lt;/span&gt;&lt;span class="o"&gt;:&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;b&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;br&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="err"&gt;{&lt;/span&gt;&lt;span class="n"&gt;furigana&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;Notes&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="err"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;br&lt;/span&gt;&lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="err"&gt;{/Notes&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="err"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;hr/&gt;
&lt;h3 id="mapping"&gt;&lt;a class="toclink" href="#mapping"&gt;Mapping&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Save when finished, but don’t close Anki just yet. Our final step for now will be to map our Firefox or Chrome Yomichan settings to Anki so that our generated cards will be using the correct card-template and imported data gets saved to within correct set.&lt;/p&gt;
&lt;p&gt;Open the Yomichan options on your browser of choice; scroll down to the ‘Anki category, and turn on &lt;strong&gt;Enable Anki integration&lt;/strong&gt;. I further suggest to change &lt;strong&gt;Duplicate card scope&lt;/strong&gt; to &lt;strong&gt;Deck&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Select &lt;strong&gt;Configure Anki card format..&lt;/strong&gt; and change accordingly: &lt;strong&gt;Deck&lt;/strong&gt; → &lt;strong&gt;Yomichan&lt;/strong&gt;, &lt;strong&gt;Model&lt;/strong&gt; → &lt;strong&gt;yomichan&lt;/strong&gt;, &lt;strong&gt;Field Expression&lt;/strong&gt; → &lt;strong&gt;{furigana-plain}&lt;/strong&gt;, &lt;strong&gt;Meaning&lt;/strong&gt; → &lt;strong&gt;{glossary-brief}&lt;/strong&gt;, &lt;strong&gt;Audio&lt;/strong&gt; → &lt;strong&gt;{audio}&lt;/strong&gt;.&lt;/p&gt;
&lt;h3 id="testing"&gt;&lt;a class="toclink" href="#testing"&gt;Testing&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Now let’s try out our new set-up!&lt;/p&gt;
&lt;div class="admonition note"&gt;
&lt;p class="admonition-title"&gt;Note&lt;/p&gt;
&lt;p&gt;Anki has to remain open whenever we vocab-mine using Yomichan, so just keep Anki opened in the background for now.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Press and hold &lt;span class="keys"&gt;&lt;kbd class="key-control"&gt;Ctrl&lt;/kbd&gt;&lt;/span&gt; (or whatever Scan modifier key you selected) and hover over the words below. A yomichan pop-up should appear.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;span lang="ja"&gt;&lt;ruby&gt;&lt;rb&gt;理解&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;りかい&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;&lt;/span&gt; | &lt;span lang="ja"&gt;&lt;ruby&gt;&lt;rb&gt;暗記&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;あんき&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;&lt;/span&gt; (I’m not obsessed, I swear~)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Just press the green Add Expression icon on the pop-up or use the key short-cut &lt;span class="keys"&gt;&lt;kbd class="key-alt"&gt;Alt&lt;/kbd&gt;&lt;span&gt;+&lt;/span&gt;&lt;kbd class="key-e"&gt;E&lt;/kbd&gt;&lt;/span&gt; to import these words into your set.&lt;/p&gt;
&lt;p&gt;I’ve exported my own copy of this example and uploaded if you want to compare or save yourself the work of creating the note template manually:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Download&lt;/strong&gt;: &lt;a href="https://www.steviepoppe.net/files/Yomichan_test.apkg"&gt;Example set Yomichan &lt;i class="icon-download-alt"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="japanese-example-sentences"&gt;&lt;a class="toclink" href="#japanese-example-sentences"&gt;Japanese Example Sentences&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Our current set-up is pretty useful already, but as seen in the GIF at the top of the page, some further effort will allow us to add proper example sentences and their translations to our mined vocabulary on-the-fly. For this, we’ll be using an Anki add-on called &lt;strong&gt;Japanese Example Sentences&lt;/strong&gt;, which relies on what is known as the &lt;a href="https://www.edrdg.org/wiki/index.php/Tanaka_Corpus"&gt;Tanaka Corpus&lt;/a&gt;, a massive corpus of parallel Japanese-English sentences compiled by Prof. Dr. Yasuhito Tanaka and his students. It is since being maintained by the &lt;a href="https://tatoeba.org/"&gt;Tatoeba Project&lt;/a&gt;, as formatted by Prof. Dr. Jim Breen.&lt;/p&gt;
&lt;h3 id="download"&gt;&lt;a class="toclink" href="#download"&gt;Download&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;The Japanese Example Sentences add-on has a page on Ankiweb’s &lt;a href="https://ankiweb.net/shared/info/2413435972"&gt;plug-in page&lt;/a&gt;, but as usual we’ll install the plug-in using the Desktop Anki application. Go to &lt;strong&gt;Tools → Add-ons → Browse &amp;amp; Install&lt;/strong&gt;, and copy-paste &lt;strong&gt;2413435972&lt;/strong&gt; in the pop-up dialog. Restart the application to complete the installation.&lt;/p&gt;
&lt;div class="admonition note"&gt;
&lt;p class="admonition-title"&gt;Note&lt;/p&gt;
&lt;p&gt;The example sentences database provided with the plug-in uses a very outdated (2012) copy of the Tanaka Corpus. A regularly maintained copy in a compatible format can be download from the &lt;a href="http://nihongo.monash.edu/wwwjdicinf.html#examp_tag"&gt;WWWJDIC web-page&lt;/a&gt; (&lt;a href="http://nihongo.monash.edu/examples.utf.gz"&gt;direct link to the UTF-8 variant&lt;/a&gt;).&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Download the above UTF-8 copy of the corpus, and extract it in the Japanese Examples Anki add-on folder. Rename the extracted file &lt;strong&gt;japanese_examples.utf&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Restart Anki. The Japanese Examples add-on will recompile  a &lt;em&gt;pickle&lt;/em&gt; serialized variant of the corpus for speed efficiency in looking up sentences.&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;h3 id="set-up-with-anki-connect-yomichan"&gt;&lt;a class="toclink" href="#set-up-with-anki-connect-yomichan"&gt;Set-up with Anki-connect + Yomichan&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Next, select &lt;strong&gt;Tools → Add-ons&lt;/strong&gt;, select → &lt;span class="keys"&gt;&lt;kbd class="key-control"&gt;Ctrl&lt;/kbd&gt;&lt;span&gt;+&lt;/span&gt;&lt;kbd class="key-shift"&gt;Shift&lt;/kbd&gt;&lt;span&gt;+&lt;/span&gt;&lt;kbd class="key-a"&gt;A&lt;/kbd&gt;&lt;/span&gt;, click on &lt;strong&gt;Japanese Example Sentences&lt;/strong&gt; → &lt;strong&gt;Config&lt;/strong&gt;. We’ll want to change the &lt;code&gt;"noteTypes"&lt;/code&gt; field from &lt;code&gt;"example-sentences"&lt;/code&gt; to &lt;code&gt;"Yomichan"&lt;/code&gt;, the name of our new note-type. Click &lt;strong&gt;ok&lt;/strong&gt; and and press &lt;strong&gt;View Files&lt;/strong&gt; in the add-ons screen to open the Japanese Example Sentence add-on folder within your local AppData’s Anki folder. We’ll have to open &lt;strong&gt;config.json&lt;/strong&gt; with a text-editor and make the exact same change again (e.g. change &lt;code&gt;"noteTypes": ["example_sentences"]&lt;/code&gt; to &lt;code&gt;"noteTypes": ["Yomichan"]&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;In its current stage, this plug-in can contextualize existing cards using &lt;strong&gt;Edit → Bulk-add examples&lt;/strong&gt;. There are two requirements so-far: the ‘note-type’ should have both an examples field and expression field, and the expression should be just the Japanese expression &lt;em&gt;without&lt;/em&gt; [square brackets] containing &lt;em&gt;furigana&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;However, because we want &lt;em&gt;furigana&lt;/em&gt; readings on our vocab, our Yomichan + Anki method &lt;em&gt;does&lt;/em&gt; rely on importing expression fields containing brackets (e.g. &lt;code&gt;気象庁[きしょうちょう]&lt;/code&gt;). In order to facilitate contextualizing cards generated using Yomichan, then, we will need to make a few adjustments to both Anki-Connect and the Japanese_Examples add-on.&lt;/p&gt;
&lt;div class="admonition note"&gt;
&lt;p class="admonition-title"&gt;Note&lt;/p&gt;
&lt;p&gt;I’ve added the edited files on a &lt;a href="https://github.com/steviepoppe/anki_addon_edits"&gt;new repository on my GitHub&lt;/a&gt; so go ahead and replace the existing add-on files on your Anki’s add-on folder on your computer (e.g. &lt;code&gt;C:\Users\USER_NAME\Documents\Anki\addons&lt;/code&gt; or &lt;code&gt;C:\Users\USER_NAME\AppData\Roaming\Anki2\addons21&lt;/code&gt;). I’ve described all my edits below in case you’d prefer to do this manually.&lt;/p&gt;
&lt;/div&gt;
&lt;h4 id="japanese-example-sentences-japanese_examplespy"&gt;&lt;a class="toclink" href="#japanese-example-sentences-japanese_examplespy"&gt;Japanese Example Sentences: &lt;strong&gt;japanese_examples.py&lt;/strong&gt;&lt;/a&gt;&lt;/h4&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt;1&lt;/span&gt;
&lt;span class="normal"&gt;2&lt;/span&gt;
&lt;span class="normal"&gt;3&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;searched&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;re&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;search&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;r&lt;/span&gt;&lt;span class="s1"&gt;'^[^\[]+'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;expression&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;searched&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;expression&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;searched&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;group&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;Open &lt;strong&gt;japanese_examples.py&lt;/strong&gt; and paste the above piece of code in the &lt;code class="highlight"&gt;&lt;span class="n"&gt;find_examples&lt;/span&gt;&lt;/code&gt; class right after it defined examples as a list. it should be around &lt;strong&gt;line 124&lt;/strong&gt; (&lt;code class="highlight"&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;find_examples&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;expression&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;maxitems&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt; &lt;span class="n"&gt;examples&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;&lt;/code&gt;). While you’re here, replace &lt;code&gt;" {CHECKED}"&lt;/code&gt; with &lt;code&gt;"✓"&lt;/code&gt; (e.g. &lt;code class="highlight"&gt;&lt;span class="n"&gt;example&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;example&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="s2"&gt;" ✓"&lt;/span&gt;&lt;/code&gt;). It’s more &lt;em&gt;a e s t h e t i c&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Next, I’ve edited the mark-up of the example sentences to hide the English translations unless hovered above (or selected on touch-screens). Locate &lt;code class="highlight"&gt;&lt;span class="n"&gt;combined_examples&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s2"&gt;&amp;lt;br&amp;gt;&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;examples&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;/code&gt; in the &lt;code class="highlight"&gt;&lt;span class="n"&gt;find_examples_multiple&lt;/span&gt;&lt;/code&gt; method (around &lt;strong&gt;line 204&lt;/strong&gt;) and replace it with the following line:&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt;1&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt; &lt;span class="n"&gt;combined_examples&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"&amp;lt;div id='eng_test'&amp;gt;&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s2"&gt;&amp;lt;span id='eng_sentence'&amp;gt;&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s2"&gt;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;"&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;examples&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;Finally, In the &lt;code&gt;find_examples_multiple&lt;/code&gt; method (around &lt;strong&gt;line 212&lt;/strong&gt;), replace “&lt;code class="highlight"&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;br&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;br&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;/code&gt;” with “&lt;code class="highlight"&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;br&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;/code&gt;”; we’ll want just one break between example sentences.&lt;/p&gt;
&lt;h4 id="anki-connect-__init__py"&gt;&lt;a class="toclink" href="#anki-connect-__init__py"&gt;Anki-Connect: &lt;strong&gt;__init__.py&lt;/strong&gt;&lt;/a&gt;&lt;/h4&gt;
&lt;div class="admonition note"&gt;
&lt;p class="admonition-title"&gt;Note&lt;/p&gt;
&lt;p&gt;This step is only necessary if you’d prefer example sentences to be added directly upon adding a new card with Yomichan. Another solution would be to just periodically select all cards in your deck with the Card Browser and click Edit →  Bulk-add Examples.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Anki-Connect&lt;/strong&gt; makes calls to Anki’s API to create new notes. My edit adds a call to the &lt;strong&gt;japanese_examples&lt;/strong&gt; add-on at run-time. First, we’ll have to import the japanese_examples extension to be able to call its methods. If you’re doing this set-up manually, add the line below near the top of the &lt;strong&gt;__init__.py&lt;/strong&gt; file, below the other imports (around &lt;strong&gt;line 48&lt;/strong&gt;).&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt;1&lt;/span&gt;
&lt;span class="normal"&gt;2&lt;/span&gt;
&lt;span class="normal"&gt;3&lt;/span&gt;
&lt;span class="normal"&gt;4&lt;/span&gt;
&lt;span class="normal"&gt;5&lt;/span&gt;
&lt;span class="normal"&gt;6&lt;/span&gt;
&lt;span class="normal"&gt;7&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;japanese_examples&lt;/span&gt;
&lt;span class="k"&gt;except&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;examples_japanese&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;__import__&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"2413435972"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;japanese_examples&lt;/span&gt;
    &lt;span class="k"&gt;except&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;raise&lt;/span&gt; &lt;span class="ne"&gt;Exception&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'Failed to import Japanese Examples module'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;Next, I’ve written a few lines in the &lt;code&gt;addNote&lt;/code&gt; method to call Japanese-examples’ find method at run-time. This should come before &lt;code class="highlight"&gt;&lt;span class="n"&gt;collection&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;collection&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;/code&gt; around &lt;strong&gt;line 500&lt;/strong&gt;.&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt;1&lt;/span&gt;
&lt;span class="normal"&gt;2&lt;/span&gt;
&lt;span class="normal"&gt;3&lt;/span&gt;
&lt;span class="normal"&gt;4&lt;/span&gt;
&lt;span class="normal"&gt;5&lt;/span&gt;
&lt;span class="normal"&gt;6&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="c1"&gt;# for use with Japanese examples&lt;/span&gt;
&lt;span class="n"&gt;examples&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;examples_japanese&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;find_examples_multiple&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ankiNote&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;examples_japanese&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"maxPermanent"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;

&lt;span class="c1"&gt;# if field is empty and examples exist&lt;/span&gt;
&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;examples&lt;/span&gt; &lt;span class="ow"&gt;and&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="n"&gt;ankiNote&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;examples_japanese&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;DST_FIELD_COMB&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt;
    &lt;span class="n"&gt;ankiNote&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;examples_japanese&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;DST_FIELD_COMB&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;examples&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;hr/&gt;
&lt;p&gt;Finally, we want to alter out cards’ lay-out to display our example sentences in a educationally beneficial manner. We’ll need some further edits outlined below.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Back Template&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Add the HTML code below to the bottom of your three card-types’ back templates.&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt;1&lt;/span&gt;
&lt;span class="normal"&gt;2&lt;/span&gt;
&lt;span class="normal"&gt;3&lt;/span&gt;
&lt;span class="normal"&gt;4&lt;/span&gt;
&lt;span class="normal"&gt;5&lt;/span&gt;
&lt;span class="normal"&gt;6&lt;/span&gt;
&lt;span class="normal"&gt;7&lt;/span&gt;
&lt;span class="normal"&gt;8&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;br&lt;/span&gt;&lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
{{#Examples}}
&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;br&lt;/span&gt;&lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"examples"&lt;/span&gt; &lt;span class="na"&gt;lang&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"ja"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"title"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;b&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Sentences:&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;b&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;br&lt;/span&gt;&lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
{{furigana:Examples}}
&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
{{/Examples}}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;h4 id="card-lay-out"&gt;&lt;a class="toclink" href="#card-lay-out"&gt;Card Lay-out&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;Add the code below to the bottom of the Template’s Styling tab. It’ll display the example sentences to the left of your cards.&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt;1&lt;/span&gt;
&lt;span class="normal"&gt;2&lt;/span&gt;
&lt;span class="normal"&gt;3&lt;/span&gt;
&lt;span class="normal"&gt;4&lt;/span&gt;
&lt;span class="normal"&gt;5&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;.examples {font-size:75%; text-align: left;}
.title {font-size:16px; color: #999999;}

#eng_sentence { display: none; }
#eng_test:hover #eng_sentence{ display: inherit; color: #eb4c42;}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;&lt;img alt="anki-notetype-back" class="hwimportant fborder fcenter" src="https://steviepoppe.net/images/anki/anki-notetype-back.jpg" title="anki-notetype-back"/&gt;&lt;/p&gt;
&lt;hr/&gt;
&lt;p&gt;If you’ve followed the above steps, your Yomichan-generated Anki cards should now contain example sentences as well.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Try it out yourself: &lt;span lang="ja"&gt;&lt;ruby&gt;&lt;rb&gt;文脈&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;ぶんみゃく&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;&lt;/span&gt; | &lt;span lang="ja"&gt;&lt;ruby&gt;&lt;rb&gt;語彙&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;ごい&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;&lt;/span&gt;!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id="example-set"&gt;&lt;a class="toclink" href="#example-set"&gt;Example Set&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;As usual, I’ve exported my own copy of this tutorial and uploaded it in case you’d like to compare or save yourself the work of editing the note template yourself.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Download&lt;/strong&gt;: &lt;a href="https://www.steviepoppe.net/files/Yomichan_test_context.apkg"&gt;Example set Yomichan &lt;i class="icon-download-alt"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr/&gt;
&lt;h2 id="weblio-japanese-definitions"&gt;&lt;a class="toclink" href="#weblio-japanese-definitions"&gt;Weblio Japanese Definitions&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Support for online monolingual dictionary definitions is a feature often requested of Yomichan. Right now, Japanese EPWING dictionaries are supported out-of-box, but those are propriety software and thus not provided freely online. Furthermore, the author has expressed some reluctance to adding support for online dictionaries due to the instable nature of accessing definitions through web-scraping. The slightest update to the structure of an on-line dictionary would render the feature unusable.&lt;/p&gt;
&lt;p&gt;That being said, that is exactly what this Anki add-on does: &lt;strong&gt;&lt;a href="https://ankiweb.net/shared/info/2055037404"&gt;Japanese Definition Scraper from weblio Dictionary&lt;/a&gt;&lt;/strong&gt; does.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-4" id="fnref-4" rel="footnote"&gt;5&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;As usual we’ll install the plug-in using the Desktop Anki application. Go to &lt;strong&gt;Tools → Add-ons → Browse &amp;amp; Install&lt;/strong&gt;, and copy-paste &lt;strong&gt;2055037404&lt;/strong&gt; in the pop-up dialog. Restart the application to complete the installation.&lt;/p&gt;
&lt;p&gt;&lt;img alt="anki-gyakuten" class="hwimportant fborder fcenter" src="https://steviepoppe.net/images/anki/anki-gyakuten.jpg" title="anki-gyakuten"/&gt;&lt;/p&gt;
&lt;h3 id="set-up_1"&gt;&lt;a class="toclink" href="#set-up_1"&gt;Set-up&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;The ‘note-types’ of the vocabulary you want Japanese definitions for will need a new field to contain the definition. On the desktop Anki application, press &lt;span class="keys"&gt;&lt;kbd class="key-control"&gt;Ctrl&lt;/kbd&gt;&lt;span&gt;+&lt;/span&gt;&lt;kbd class="key-shift"&gt;Shift&lt;/kbd&gt;&lt;span&gt;+&lt;/span&gt;&lt;kbd class="key-n"&gt;N&lt;/kbd&gt;&lt;/span&gt;, or click &lt;strong&gt;Tools → Manage Note Types&lt;/strong&gt;, to enter the ‘note-type’ management screen. Select the ‘note-type’ of the cards you’d like to contain example sentences and click &lt;strong&gt;fields&lt;/strong&gt;. On the next screen, click &lt;strong&gt;add&lt;/strong&gt; and call the field &lt;code&gt;JapaneseDefinitions&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Next, select &lt;strong&gt;Tools → Add-ons&lt;/strong&gt;, select → &lt;span class="keys"&gt;&lt;kbd class="key-control"&gt;Ctrl&lt;/kbd&gt;&lt;span&gt;+&lt;/span&gt;&lt;kbd class="key-shift"&gt;Shift&lt;/kbd&gt;&lt;span&gt;+&lt;/span&gt;&lt;kbd class="key-a"&gt;A&lt;/kbd&gt;&lt;/span&gt;, click on &lt;strong&gt;Definition Scraper&lt;/strong&gt; → &lt;strong&gt;Config&lt;/strong&gt;. We’ll want to change the &lt;code&gt;"definitionField"&lt;/code&gt; field to &lt;code&gt;"JapaneseDefinitions"&lt;/code&gt; and the &lt;code&gt;"expressionField"&lt;/code&gt; field to &lt;code&gt;"Expression"&lt;/code&gt;. Click &lt;strong&gt;ok&lt;/strong&gt; and and press &lt;strong&gt;View Files&lt;/strong&gt; in the add-ons screen to open the add-on’s folder within your local AppData’s Anki folder. We’ll have to open &lt;strong&gt;config.json&lt;/strong&gt; with a text-editor and make the exact same change again.&lt;/p&gt;
&lt;h3 id="yomichan-anki-connect-compatibility"&gt;&lt;a class="toclink" href="#yomichan-anki-connect-compatibility"&gt;Yomichan / Anki-Connect Compatibility&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;As with the previous section on example sentences, a drawback to this plug-in when used in combination with our set-up is that it does not support vocabulary formatted to use &lt;em&gt;furigana&lt;/em&gt;, and neither can Japanese definitions be added automatically on adding new cards with Yomichan. We’ll have to make some further adjustments.&lt;/p&gt;
&lt;div class="admonition note"&gt;
&lt;p class="admonition-title"&gt;Note&lt;/p&gt;
&lt;p&gt;I’ve added the edited files on a &lt;a href="https://github.com/steviepoppe/anki_addon_edits/tree/master/jj_tutorial_new"&gt;new repository on my GitHub&lt;/a&gt; so go ahead and replace the existing add-on files on your Anki’s add-on folder on your computer (e.g. &lt;code&gt;C:\Users\YOUR_NAME\Documents\Anki\addons&lt;/code&gt;) with the ones on there.&lt;/p&gt;
&lt;/div&gt;
&lt;h4 id="weblio-japanese-definitions-__init__py"&gt;&lt;a class="toclink" href="#weblio-japanese-definitions-__init__py"&gt;Weblio Japanese Definitions: &lt;strong&gt;__init__.py&lt;/strong&gt;&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;If you’d like to edit this yourself, add the following code as first line in the &lt;code&gt;fetchDef&lt;/code&gt; class - it should be around &lt;strong&gt;line 42&lt;/strong&gt; (&lt;code class="highlight"&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;fetchDef&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;term&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;&lt;/code&gt;).&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt;1&lt;/span&gt;
&lt;span class="normal"&gt;2&lt;/span&gt;
&lt;span class="normal"&gt;3&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;    &lt;span class="n"&gt;searched&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;re&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;search&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;r&lt;/span&gt;&lt;span class="s1"&gt;'^[^\[]+'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;term&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;searched&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;term&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;searched&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;group&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;h4 id="anki-connect-__init__py_1"&gt;&lt;a class="toclink" href="#anki-connect-__init__py_1"&gt;Anki-Connect: &lt;strong&gt;__init__.py&lt;/strong&gt;&lt;/a&gt;&lt;/h4&gt;
&lt;div class="admonition note"&gt;
&lt;p class="admonition-title"&gt;Note&lt;/p&gt;
&lt;p&gt;Like before, this step is only necessary if you’d prefer Japanese dictionary definitions to be added immediately upon card generation with Yomichan. Another solution would be to just periodically select all cards in your deck (&lt;span class="keys"&gt;&lt;kbd class="key-control"&gt;Ctrl&lt;/kbd&gt;&lt;span&gt;+&lt;/span&gt;&lt;kbd class="key-a"&gt;A&lt;/kbd&gt;&lt;/span&gt;) with the Card Browser and click &lt;strong&gt;Edit → Regenerate Japanese Expressions&lt;/strong&gt;. It will crawl the Internet for each new definition so this might take quite a while. Speed optimization might be exactly why to skip this part and just bulk generate though.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;This process will be almost identical to that done for the Example Sentences add-on. First, we need to import the Weblio add-on in the Anki-Connect python script. Add the code below near the top along the other imports (around &lt;strong&gt;line 50&lt;/strong&gt;).&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt;1&lt;/span&gt;
&lt;span class="normal"&gt;2&lt;/span&gt;
&lt;span class="normal"&gt;3&lt;/span&gt;
&lt;span class="normal"&gt;4&lt;/span&gt;
&lt;span class="normal"&gt;5&lt;/span&gt;
&lt;span class="normal"&gt;6&lt;/span&gt;
&lt;span class="normal"&gt;7&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;anki_plugin_jaja_definitions&lt;/span&gt;
&lt;span class="k"&gt;except&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;jaja_definitions&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;__import__&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"2055037404"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;except&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;raise&lt;/span&gt; &lt;span class="ne"&gt;Exception&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'Failed to import Weblio Japanese Definitions module'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;Next, we’ll make a call to Weblio Japanese Definitions in Anki-Connect’s 
&lt;code&gt;addNote&lt;/code&gt; method to webscrape Weblio’s dictionary at run-time and, if a definition was found, add those to our card. Again this should come before &lt;code class="highlight"&gt;&lt;span class="n"&gt;collection&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;collection&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;/code&gt; around line 500.&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt;1&lt;/span&gt;
&lt;span class="normal"&gt;2&lt;/span&gt;
&lt;span class="normal"&gt;3&lt;/span&gt;
&lt;span class="normal"&gt;4&lt;/span&gt;
&lt;span class="normal"&gt;5&lt;/span&gt;
&lt;span class="normal"&gt;6&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;        &lt;span class="c1"&gt;# for use with weblio dictionary add-on&lt;/span&gt;
        &lt;span class="n"&gt;weblio_dic&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;jaja_definitions&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;fetchDef&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ankiNote&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;jaja_definitions&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;expressionField&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;

        &lt;span class="c1"&gt;# if field is empty and def exist&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;weblio_dic&lt;/span&gt; &lt;span class="ow"&gt;and&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="n"&gt;ankiNote&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;jaja_definitions&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;definitionField&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt;
            &lt;span class="n"&gt;ankiNote&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;jaja_definitions&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;definitionField&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;weblio_dic&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;If you’ve followed above steps, every time you add a new word with Yomichan, it will automatically contain a Weblio dictionary definition as well. Try it out yourself: &lt;span lang="ja"&gt;&lt;ruby&gt;&lt;rb&gt;逆転&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;ぎゃくてん&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;&lt;/span&gt; | &lt;span lang="ja"&gt;&lt;ruby&gt;&lt;rb&gt;裁判&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;さいばん&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;&lt;/span&gt;!&lt;/p&gt;
&lt;h3 id="anki-note-lay-out"&gt;&lt;a class="toclink" href="#anki-note-lay-out"&gt;Anki Note Lay-out&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Finally, let’s edit the lay-out of our cards (open ‘note-type’ management screen) in order to display our Japanese definitions (if any).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Lay-out&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;As usual, add the following CSS code to the bottom style screen of your note’s ‘card-type’ template.&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt;1&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;title&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="k"&gt;font-size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;16&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#999999&lt;/span&gt;&lt;span class="p"&gt;;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Templates&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Add the following code below the line displaying your vocab expression’s definition (e.g. &lt;code&gt;{{Meaning}}&lt;/code&gt;). You’ll do this in &lt;strong&gt;Expression → Back Template&lt;/strong&gt;, &lt;strong&gt;Meaning → Front Template&lt;/strong&gt; and &lt;strong&gt;Audio → Back Template&lt;/strong&gt;.&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt;1&lt;/span&gt;
&lt;span class="normal"&gt;2&lt;/span&gt;
&lt;span class="normal"&gt;3&lt;/span&gt;
&lt;span class="normal"&gt;4&lt;/span&gt;
&lt;span class="normal"&gt;5&lt;/span&gt;
&lt;span class="normal"&gt;6&lt;/span&gt;
&lt;span class="normal"&gt;7&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;{{#JapaneseDefinitions}}
&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"japanese_meaning"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"title"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;定義:&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;br&lt;/span&gt;&lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt; &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"japanese"&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"JapaneseDefinitions"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
{{furigana:JapaneseDefinitions}}&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;br&lt;/span&gt;&lt;span class="p"&gt;/&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;br&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
{{/JapaneseDefinitions}}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;hr/&gt;
&lt;h3 id="download-example-set"&gt;&lt;a class="toclink" href="#download-example-set"&gt;Download Example Set&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;As usual, I’ve exported my own Anki copy of this tutorial and uploaded it in case you’d like to compare or save yourself the work of editing the note template yourself. This one follow up on the last parts of the guide and is identical to the template I’m using myself.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Download&lt;/strong&gt;: &lt;a href="https://www.steviepoppe.net/files/Yomichan_test_weblio.apkg"&gt;Example set Weblio &lt;i class="icon-download-alt"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h1 id="applications"&gt;&lt;a class="toclink" href="#applications"&gt;Applications&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;I’ve covered several ways of using these tools back in &lt;a href="https://steviepoppe.net/blog/2016/09/a-quick-guide-on-using-anki-2-an-efficient-vocab-mining-set-up-with-Anki-and-rikaisama/"&gt;2016&lt;/a&gt;. Rikaisama and Yomichan cover any format that displays actual Japanese text on your browser. This goes from reading news-articles, social media or HTML-formatted novels (I personally use this method to read Kindle-bought literature), but also HTML5 video-games, or viewing anime on Animelon’s multi-layer subtitled streaming web-app (no affiliation, it’s free and I just think it’s a pretty cool service).&lt;/p&gt;
&lt;h1 id="rikaisama"&gt;&lt;a class="toclink" href="#rikaisama"&gt;Rikaisama&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Rikaisama is dead, long live Rikaisama!&lt;/p&gt;
&lt;p&gt;While Firefox broke support of (unsigned) XUL-based add-ons and thus Rikaisama, further usage is still possible through XUL-supporting Firefox-derivatives such as Waterfox, Pale Moon and Basilisk.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-3" id="fnref-3" rel="footnote"&gt;4&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;For day-to-day practices, installing an additional browser seems like an unnecessary bloated approach, but despite its wonderful successor, I’m still quite partial to Rikaisama solely for reading longer texts such as Japanese novels, since Rikaisama’s one-button solution to importing cards into Anki is frankly just more time-efficient as Yomichan. Finally, if you’ve already painstakingly gone through my previous tutorials, this method will require the least amount of additional effort.&lt;/p&gt;
&lt;h2 id="set-up_2"&gt;&lt;a class="toclink" href="#set-up_2"&gt;Set-up&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;All this step requires is downloading one of those Firefox-derivatives and following my prior guides (I’ve gone through them again while setting up Waterfox and they’re still applicable). Personally, I use Yomichan with Chrome on a day-to-day basis, and Rikaisama in combination with Waterfox while reading large texts.&lt;/p&gt;
&lt;p&gt;As for the previous guides on Rikaisama, I’ve added links in the next section. &lt;i class="icon-hand-down"&gt;&lt;/i&gt;&lt;/p&gt;
&lt;h1 id="wait-there-is-more"&gt;&lt;a class="toclink" href="#wait-there-is-more"&gt;Wait! There is more!&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Although I’ve extensively covered Anki/browser-integration in my 2016 blog series, Rikaisama’s status as legacy software rendered some of my previous writings rather obsolete and it was thus high time for an update. While I’m still keen on Rikaisama using Firefox-alternative Waterfox in certain situations (namely, handling large texts such as novels), I’ve switched to using Yomichan for day-to-day situations. I’ve slightly updated my previous posts for those interested. If you’ve any further questions, feel free to check out the other articles in this series on Anki, or to leave a comment below.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://steviepoppe.net/blog/2016/09/a-quick-guide-on-using-anki-effectively-in-an-academic-context/"&gt;A &lt;del&gt;Quick&lt;/del&gt; Guide on Using Anki (effectively) (in an academic context)&lt;/a&gt;
&lt;a href="https://steviepoppe.net/blog/2016/09/a-quick-guide-on-using-anki-2-an-efficient-vocab-mining-set-up-with-anki-and-rikaisama/"&gt;Setting up a perfect vocab-mining environment with Anki and Rikaisama&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://steviepoppe.net/blog/2016/09/a-quick-guide-on-using-anki-3-contextualize-your-vocab-cards-with-example-sentences/"&gt;Using Anki’s API to contextualize your vocab cards with example sentences&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://steviepoppe.net/blog/2016/10/a-quick-guide-on-using-anki-4-making-the-switch-j-j-definitions-in-your-vocab-cards/"&gt;Making the switch: J-J definitions in your vocab cards&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="footnote"&gt;
&lt;hr/&gt;
&lt;ol&gt;
&lt;li id="fn-footnote"&gt;
&lt;p&gt;Image taken from the 2012 Japanese animated film Wolf Children by Mamoru Hosoda, used under Fair Use doctrine. &lt;a class="footnote-backref" href="#fnref-footnote" title="Jump back to footnote 1 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-1"&gt;
&lt;p&gt;2021 update: I’ll never stop actively learning Japanese and still rely on Anki and the methods outlined below as of writing, but now that the language became part of my ‘professional’ life (😏), the extent to which I encounter new vocabulary has somewhat decreased over the years. In turn so has my interest in finding and integrating new study methods. &lt;a href="https://www.migaku.io/tools-guides/migaku-japanese/quickstart/"&gt;Migaku&lt;/a&gt; (whose developers seem to run a successful Patreon) appears to be quite useful and would work well in conjunction with this tutorial, but it might be a while before I look further into that. &lt;a class="footnote-backref" href="#fnref-1" title="Jump back to footnote 2 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-2"&gt;
&lt;p&gt;Granted, the offline Yomichan-application that predated the current Yomichan Chrome plug-in covered most of these bases, but in my opinion reading novels on Yomichan was less as ideal and the project has been rendered obsolete since development of the Chrome plug-in took off. &lt;a class="footnote-backref" href="#fnref-2" title="Jump back to footnote 3 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-3"&gt;
&lt;p&gt;It must be said that there’s &lt;a href="https://www.howtogeek.com/335712/update-why-you-shouldnt-use-waterfox-pale-moon-or-basilisk/"&gt;benefits and downfalls&lt;/a&gt; to each of those derivatives and I don’t specifically recommend you to replace your current browser with one of these unless you know what you’re doing. &lt;a class="footnote-backref" href="#fnref-3" title="Jump back to footnote 4 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-4"&gt;
&lt;p&gt;Before this, I used a &lt;a href="https://ankiweb.net/shared/info/1967553085"&gt;sanseido webscraper&lt;/a&gt; add-on, but as of September 30, 2020, Sanseido &lt;a href="sanseido-publ.co.jp/sp/wbdct_close.html"&gt;stopped&lt;/a&gt; their web dictionary service. This weblio scraper turns out to be based on my &lt;a href="https://github.com/steviepoppe/anki_plugin_jk_definitions"&gt;Japan - Korean&lt;/a&gt; add-on which itself was based on the Sanseido scraper. Funny how things go around. &lt;a class="footnote-backref" href="#fnref-4" title="Jump back to footnote 5 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="Studies"></category><category term="Anki"></category><category term="Rikaisama"></category><category term="Yomichan"></category><category term="Tutorial"></category><category term="Japanese"></category><category term="Studying"></category></entry><entry><title>Study-trip around Fukushima with Chuo FLP Seminar: Fukushima Hope tour</title><link href="https://steviepoppe.net/blog/2018/09/study-trip-around-fukushima-with-chuo-flp-seminar-fukushima-hope-tour/" rel="alternate"></link><published>2018-09-27T00:00:00+02:00</published><updated>2018-09-27T00:00:00+02:00</updated><author><name>Stevie Poppe</name></author><id>tag:steviepoppe.net,2018-09-27:/blog/2018/09/study-trip-around-fukushima-with-chuo-flp-seminar-fukushima-hope-tour/</id><summary type="html">

&lt;p&gt;At the start of the new academic year in Japan, early April, I joined a music circle and formed several bands with other members of the circle. During the summer break, one of my band’s members invited me to join his class’ study trip to Fukushima; gaining first hand experience at methods Fukushima’s civilians are employing to revitalize Fukushima’s tourist industry after the 2011 earthquake.&lt;/p&gt;

&lt;h1 id="brief-history"&gt;&lt;a class="toclink" href="#brief-history"&gt;Brief history &lt;i class="icon-history small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;The third largest prefecture in Japan, Fukushima is a northeastern region popular amongst Japanese not just as winter resort, but for its Japanese sake, food and many natural hot springs. Historically, Fukushima is known for it’s role in the last feudal Samurai war, the 1868 Bosshin War. Today however, the region remains heavily associated with the 2011 earthquake and subsequent nuclear disaster. An earthquake on 11 March 2011 led to a tsunami disabling most of the Fukushima Daiichi Nuclear Power Plant (located on the Pacific Ocean coastline of central Fukushima) and subsequent nuclear meltdowns due insufficient cooling. Despite strong criticism on government-level handling of the situation, much has been done on a local scale to restore Fukushima to its former level.&lt;/p&gt;
&lt;h1 id="itinerary"&gt;&lt;a class="toclink" href="#itinerary"&gt;Itinerary &lt;i class="icon-plane small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;A system quite common to Japan and less so where I’m from is the zemi system (derived from the seminar system in Germany); classes of around 10 students working together with the professor in interactive ways about a specific topic the professor is interested in. Usually groups become quite tight and occasionally join the professor for some food and drinks at night, as well as go on study trips (read: glorified city-trips). Earlier this year I had the opportunity of joining my German professor and three other students from KU Leuven studying in Japan for such a study-trip in Matsumoto, but this was my first opportunity doing in a full Japanese context.&lt;/p&gt;
&lt;p&gt;Although I was not part of the class, my friend and band-mate mentioned that that shouldn’t deter me from joining; in fact due the topic in question, input from a non-Japanese student would actually be highly appreciated, or so he assured me. Taught by Dr. Prof. Hosono (細野教授), the class itself (FLP, or Faculty-Linkage Program) is open for students of different academic backgrounds and often focuses on international issues. This semester, students worked on city-planning in disaster-struck areas (まちづくり) with a case-study of tourism in Fukushima …&lt;/p&gt;</summary><content type="html">

&lt;p&gt;At the start of the new academic year in Japan, early April, I joined a music circle and formed several bands with other members of the circle. During the summer break, one of my band’s members invited me to join his class’ study trip to Fukushima; gaining first hand experience at methods Fukushima’s civilians are employing to revitalize Fukushima’s tourist industry after the 2011 earthquake.&lt;/p&gt;

&lt;h1 id="brief-history"&gt;&lt;a class="toclink" href="#brief-history"&gt;Brief history &lt;i class="icon-history small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;The third largest prefecture in Japan, Fukushima is a northeastern region popular amongst Japanese not just as winter resort, but for its Japanese sake, food and many natural hot springs. Historically, Fukushima is known for it’s role in the last feudal Samurai war, the 1868 Bosshin War. Today however, the region remains heavily associated with the 2011 earthquake and subsequent nuclear disaster. An earthquake on 11 March 2011 led to a tsunami disabling most of the Fukushima Daiichi Nuclear Power Plant (located on the Pacific Ocean coastline of central Fukushima) and subsequent nuclear meltdowns due insufficient cooling. Despite strong criticism on government-level handling of the situation, much has been done on a local scale to restore Fukushima to its former level.&lt;/p&gt;
&lt;h1 id="itinerary"&gt;&lt;a class="toclink" href="#itinerary"&gt;Itinerary &lt;i class="icon-plane small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;A system quite common to Japan and less so where I’m from is the zemi system (derived from the seminar system in Germany); classes of around 10 students working together with the professor in interactive ways about a specific topic the professor is interested in. Usually groups become quite tight and occasionally join the professor for some food and drinks at night, as well as go on study trips (read: glorified city-trips). Earlier this year I had the opportunity of joining my German professor and three other students from KU Leuven studying in Japan for such a study-trip in Matsumoto, but this was my first opportunity doing in a full Japanese context.&lt;/p&gt;
&lt;p&gt;Although I was not part of the class, my friend and band-mate mentioned that that shouldn’t deter me from joining; in fact due the topic in question, input from a non-Japanese student would actually be highly appreciated, or so he assured me. Taught by Dr. Prof. Hosono (細野教授), the class itself (FLP, or Faculty-Linkage Program) is open for students of different academic backgrounds and often focuses on international issues. This semester, students worked on city-planning in disaster-struck areas (まちづくり) with a case-study of tourism in Fukushima.&lt;/p&gt;
&lt;p class="center noshadow"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/32899526487/in/album-72157708568624144/" title="School"&gt;&lt;img alt="School" src="https://live.staticflickr.com/65535/32899526487_bd1541218d_z.jpg" style="height:480px; width:500px;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;hr/&gt;
&lt;p&gt;The students worked around the concept of a &lt;a href="https://www.hopetourism.jp/"&gt;Fukushima Hope tour&lt;/a&gt; (福島県HOPETOUR). How can Fukushima citizens work bottom-up towards reigniting Fukushima tourism? How should they utilize technology such as social media and translation tools to draw in foreign tourists; how can they shift the focus point from so-called disaster (dark) tourism? Are there any routes throughout Fukushima offering starting points to Fukushima’s history, cuisine and natural beauty? What strategies are appropriate to attract previous tourists in different seasons?&lt;/p&gt;
&lt;p&gt;The three-day itinerary planned around Fukushima would first visit the formerly abandoned villages of &lt;strong&gt;Namie&lt;/strong&gt; (浪江) and &lt;strong&gt;Tomioka&lt;/strong&gt; (富岡町), passing closely to the Fukushima Daiichi Nuclear Power Plant itself. During this time, students have the opportunity to talk to some of the locals who’ve decided to return there and reopen businesses. Afterwards, the bus will head for a japanese-style inn (旅館) at Iizaka Hot Springs, near the centrum of Fukushima, were we will spend the night. The next two days were spent in the Aizu (会津) area, specifically &lt;strong&gt;Aizu-Wakamatsu&lt;/strong&gt; (会津若松), &lt;strong&gt;Kitakata&lt;/strong&gt; (喜多) and &lt;strong&gt;Ouchijuku&lt;/strong&gt;, focusing more on the historical aspects of Fukushima as well as natural beauty and cuisine.&lt;/p&gt;
&lt;p&gt;HOWEVER! I just purchased a new smart-phone several days earlier and I found out the hard way my alarm app did not function properly. I woke up two hours too late and missed my train to Tomioka. I was forced to buy a new bullet train ticket and catch up with the group in Iizaka, missing the first part of the itinerary. (ू˃︿˂ ू)&lt;/p&gt;
&lt;h2 id="fukushima-city"&gt;&lt;a class="toclink" href="#fukushima-city"&gt;Fukushima City&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;After a brief mental breakdown over oversleeping and missing my train, I ended up going directly to Fukushima City by bullet train and spent a few hours walking around the city, having a brief conversation with an old baker who’d never talked to a foreigner before and was interested in my opinion on the texture of his melon pan (decent). After a further uneventful trip I headed towards Iizaka through the cute Iizaka Line (飯坂線) and met up with the FLP class who’d arrived around the same. Not the best first impression but it didn’t really bother anyone.&lt;/p&gt;
&lt;h2 id="iizaka-onsen"&gt;&lt;a class="toclink" href="#iizaka-onsen"&gt;iizaka onsen&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Iizaka Onsen&lt;/strong&gt; (飯坂温泉) is a quaint hot springs resort in the central area of the Fukushima prefecture (Nakadori, 中通り). Coming straight from Tokyo, the town does have a bit of a rustic look, somewhat shabby even at times, but that’s part of the charm for sure. The town is historically based around its natural hot springs and there are many public baths, traditional Japanese inns, as well as free foot-baths around.&lt;/p&gt;
&lt;p&gt;Although we ended up using the hot springs at our inn, we passed the oldest public baths in Japan, Sabakoyu (鯖湖湯), famous for having been visited by famous poet Matsuo Basho and reaching temperatures up to 50°C. These public baths form a social function and even now the free foot-baths around are used by weary passengers taking a break and having a chat.&lt;/p&gt;
&lt;p class="center noshadow"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/32899526077/in/album-72157708568624144/" title="iizaka onsen"&gt;&lt;img alt="iizaka onsen" src="https://live.staticflickr.com/65535/32899526077_ab50b3d49e_z.jpg" style="height: 45%;"/&gt;&lt;/a&gt;
&lt;a class="center noshadow" href="https://www.flickr.com/photos/147061735@N04/32899526107/in/album-72157708568624144/" title="iizaka onsen"&gt;&lt;img alt="iizaka onsen" src="https://live.staticflickr.com/65535/32899526107_5a1454cb12_z.jpg" style="height: 45%;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;The inn we stayed at, &lt;a href="http://horieya.com/"&gt;Horieya inn&lt;/a&gt; (ほりえや旅館), was established in the 1815 and is still run by the same family. While a bit modernized to accommodate modern necessities, The wooden architecture and base of the building has remained completely intact. Before dinner, one of the proprietors briefed us on Horieya Inn, Iizaka Onsen, and the methods Iizaka locals are employing to revitalize tourism in the area. Everything is done on a community-scale, including digital techniques such as home-pages and social networks as Twitter. Even the website (linked above) is made in-house, and while very much bare-bones, displays the tenacity and perseverance of a mostly aging community to utilize new technology, as well as a &lt;a href="http://horieya.com/iizaka.html"&gt;lovely sense of humor&lt;/a&gt;. Do note the English, Chinese and Korean accommodation of the website using Google Translate.&lt;/p&gt;
&lt;p&gt;On that topic, it is worth checking out the official &lt;a href="http://iizaka.info/sightseeing-spots/"&gt;Iizaka Onsen’s&lt;/a&gt; website as well. Despite similar design choices, the tourist association has taken much care in providing handmade translations in English, both traditional and simplified Chinese, Korean, Thai and Russian, as well as providing maps throughout the town highlighting natural beauty and cuisine throughout the four seasons. Bicycles and umbrella’s are available for free at the station, by the way.&lt;/p&gt;
&lt;p class="center noshadow"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/32899526757/in/album-72157708568624144/" title="Iizaka"&gt;&lt;img alt="Iizaka" src="https://live.staticflickr.com/65535/32899526757_6e76dbff11_z.jpg" style="height:500px;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Our meal, made with fresh community-driven Iizaka ingredients was delightful, as was the Onsen and our room (I stayed in a room with another graduate student and my band-mate, nicknamed 赤パンツ or ‘red pants’ for his daily choice of trousers, by the way). At night, we joined several other students for some drinks and a few rounds of party-game &lt;a href="https://en.wikipedia.org/wiki/Mafia_(party_game)"&gt;Werewolf&lt;/a&gt; (jinro, 人狼 in Japanese). Tips for future players, abusing your status as Japanese-learning foreigner is an easy way to feint innocence. One of the fourth year students, responsible for some of the trip’s organization and financial aspects, found out about gathering and got rather angry that we weren’t sleeping yet, going so far as to insinuate we were irresponsible. A bit of a mood-killer, we returned to our rooms and slept briefly but well.&lt;/p&gt;
&lt;h2 id="aizu-wakamatsu"&gt;&lt;a class="toclink" href="#aizu-wakamatsu"&gt;Aizu-Wakamatsu&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Our next day was spent around the castle town of &lt;strong&gt;Aizu-Wakamatsu&lt;/strong&gt; (会津若松), as well as the nearby &lt;strong&gt;Ouchijuku&lt;/strong&gt; (大内宿) and &lt;strong&gt;Iimoriyama&lt;/strong&gt; (飯盛山). Historically, Aizu-Wakamatsu is known as a castle town of the Aizu Domain and the main setting of the Boshin War, a civil war between those in support of maintaining the shogunate system (the feudal Japanese military government), and those trying to overthrow the shogunate after discontent regarding Japan’s opening to the west.&lt;/p&gt;
&lt;p&gt;While 2018 marks 150 years since the Meiji Revolution, the Aizu region aims to focus rather on 150 years since the Bosshin War, hoping to attract tourists for its samurai history. We headed to &lt;strong&gt;Aizu Bukeyashiki&lt;/strong&gt; (会津武家屋敷), known as a residence or mansion for high ranking Aizu samurai. The building is quite extensive and attempts to sketch daily life of Aizu samurai in the middle ages. During our talk with one of the proprietors, we learned of the Aizu-Wakamatsu community to in similar fashion utilize technology to attract and re-attract both national and international tourists; teaching staff how to use voice-translation software and implementing credit-card payment systems around town. The following Youtube video attempts to portray the natural beauty of Bukeyashiki during all four seasons.&lt;/p&gt;
&lt;p&gt;&lt;span class="videobox"&gt;
&lt;iframe allowfullscreen="" frameborder="0" height="390" mozallowfullscreen="" src="https://www.youtube.com/embed/ivmmoXix_-c" webkitallowfullscreen="" width="640"&gt;
&lt;/iframe&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;We stayed in a hostel near &lt;strong&gt;Nanokamachi Street&lt;/strong&gt; (七日町通り), close to the famous &lt;strong&gt;Tsuruga Castle&lt;/strong&gt;. While the current one is a concrete replica, the original castle ( was demolished after the Boshin war) served as administrative center of Aizu and has ties to the famous Date Masamune. The inside of the building has been rebuilt as museum with some interactive elements and various video-material displaying the history of the castle and Aizu samurai. The view from the top is worth the entrance.&lt;/p&gt;
&lt;p class="center noshadow"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/47053918844/in/album-72157708568624144/" title="Tsuruga Castle"&gt;&lt;img alt="Tsuruga Castle" src="https://live.staticflickr.com/65535/47053918844_32d7eebf2e_z.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h3 id="iimoriyama"&gt;&lt;a class="toclink" href="#iimoriyama"&gt;Iimoriyama&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Iimoriyama&lt;/strong&gt; (Mount Iimori, 飯盛山) is a hill most famous for a famous media event related to the Bosshin War. The story tells the tragic suicide of a group of 19 teenagers (belonging to the &lt;strong&gt;Byakkotai&lt;/strong&gt; 白虎隊 or White Tiger Company military unit) who had retreated here to assess the situation, and (wrongfully) believing the castle had fallen, committed ritual suicide as final means to defend their honor. This story is one of many tragic so-called &lt;em&gt;bushido&lt;/em&gt;-related stories immortalized as war-time propaganda, and actually impressed Italian fascist leader Mussolini to the extent he donated a Pompeii archaeological column to the site. A 1930’s donation from German side can be found here as well, in the form of a black granite plate with an Iron Cross inscription.&lt;/p&gt;
&lt;p class="center noshadow"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/32899537487/in/album-72157708568624144/" title="Iimoriyama"&gt;&lt;img alt="Iimoriyama" src="https://live.staticflickr.com/65535/32899537487_7416c60df1_z.jpg" style="height: 45%;"/&gt;&lt;/a&gt;
&lt;a class="center noshadow" href="https://www.flickr.com/photos/147061735@N04/32899549397/in/album-72157708568624144/" title="Iimoriyama"&gt;&lt;img alt="Iimoriyama" src="https://live.staticflickr.com/65535/32899549397_aaca09b857_z.jpg" style="height: 45%;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Another interesting construction is the &lt;strong&gt;Aizu Sazaedo&lt;/strong&gt; (会津さざえ堂), a completely wooden hexagonal Buddhist pagoda built in 1796, known for its ‘double-helix’ structure. The building is devoted to Kannon, and worshipers descent the building through a different way as the ascent to avoid disturbing each other. Aside from the striking wooden construction, visitors will immediately notice an enormous amount of labels with calligraphy attached pretty much everywhere. This was done by Edo period ‘tourists’ as proof of one’s visit. Some things never change.&lt;/p&gt;
&lt;p class="center noshadow"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/32899548147/in/album-72157708568624144/" title="Iimoriyama"&gt;&lt;img alt="Iimoriyama" src="https://live.staticflickr.com/65535/32899548147_2b3dfe75f3_z.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Honestly, the lush nature juxtaposed with the plentiful faded gravestones, the wooden Aizu Sazaedo and the oddly befitting Pompeii eagle make Iimori an absolutely beautiful, must-visit area when in Fukushima.&lt;/p&gt;
&lt;p class="center noshadow"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/32899525647/in/album-72157708568624144/" title="Aizu-Wakamatsu"&gt;&lt;img alt="Aizu-Wakamatsu" src="https://live.staticflickr.com/65535/32899525647_200b92eaf4_z.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;a class="center noshadow" href="https://www.flickr.com/photos/147061735@N04/32899525757/in/album-72157708568624144/" title="Ouchijuku"&gt;&lt;img alt="Ouchijuku" src="https://live.staticflickr.com/65535/32899525757_10dd305d72_z.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h3 id="ouchijuku"&gt;&lt;a class="toclink" href="#ouchijuku"&gt;Ouchijuku&lt;/a&gt;&lt;/h3&gt;
&lt;p class="center noshadow"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/32899536897/in/album-72157708568624144/" title="Ouchijuku"&gt;&lt;img alt="Ouchijuku" src="https://live.staticflickr.com/65535/32899536897_c9cfaa3171_z.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;a class="center noshadow" href="https://www.flickr.com/photos/147061735@N04/40876729993/in/album-72157708568624144/" title="Ouchijuku"&gt;&lt;img alt="Ouchijuku" src="https://live.staticflickr.com/65535/40876729993_bd1ee621eb_z.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Our next visit was the former post town of Ouchijuku (大内宿), which connected Aizu with Nikko during a period in which restrictions by the shogunate let by frequent obligatory travels to the capital of Edo (modern-day Tokyo). The area has been redeveloped as popular tourist destination for those looking for an authentic view of Japan’s feudal history. The region thrives on tourism, with many shops selling handmade trinkets or grilled fish. One of the proprietors of a tatami-floored restaurant we had dinner took some time to explain some processes of their local cuisine (&lt;strong&gt;negi soba&lt;/strong&gt;, scallion buckwheat noodles)&lt;/p&gt;
&lt;p class="center noshadow"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/32899526857/in/album-72157708568624144/" title="Ouchijuku"&gt;&lt;img alt="Ouchijuku" src="https://live.staticflickr.com/65535/32899526857_ec352bf489_z.jpg" style="height:500px;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;The well preserved buildings, with thatched roofs made from dried straw, dirt tracks, and untouched natural beauty (electricity cables are buried underground) have made this place a highlight of my stay in Japan. We spent the remainder of our day around this area before taking our bus back to our hostel.&lt;/p&gt;
&lt;p class="center noshadow"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/46927239415/in/album-72157708568624144/" title="Ouchijuku"&gt;&lt;img alt="Ouchijuku" src="https://live.staticflickr.com/65535/46927239415_6e0744c809_z.jpg" style="height:500px;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Before dinner, professor Hosono held an impromptu class on the topic of city planning, and asked the students to present their findings. As a foreign student, I was asked of my experience as well and had to present some ideas on revitalizing tourism in Fukushima, drawing attention away from the 2011 earthquake and disaster tourism. After dinner, I joined most of the students for a final drink (お疲れ会) and some games before calling it a day.&lt;/p&gt;
&lt;h2 id="kitakata"&gt;&lt;a class="toclink" href="#kitakata"&gt;Kitakata&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The next morning, we visited &lt;strong&gt;Kitakata&lt;/strong&gt; (喜多), a city in Aizu today known particularly for its many ramen restaurants (over 130 stores!), sake and historic warehouses (&lt;em&gt;kura&lt;/em&gt;, 蔵) used for storing dried foodstuffs. It’s commonly said that the high quality water in the neighborhood lead to its famous production of sake and noodles, but before we could try this ourselves we were led to a completely different shop: the &lt;strong&gt;Okuya Peanut Factory Shop&lt;/strong&gt;.&lt;/p&gt;
&lt;p class="center noshadow"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/32899554207/in/album-72157708568624144/" title="Okuya Peanut Factory Shop"&gt;&lt;img alt="Okuya Peanut Factory Shop" src="https://live.staticflickr.com/65535/32899554207_b283f16eaf_z.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;a class="center noshadow" href="https://www.flickr.com/photos/147061735@N04/46927274045/in/album-72157708568624144/" title="Okuya Peanut Factory Shop"&gt;&lt;img alt="Okuya Peanut Factory Shop" src="https://live.staticflickr.com/65535/46927274045_a0c43364b9_z.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Apparently, Kitakata is rich in peanuts. We had an interview with the proprietor and received a tour around the stock-house, detailing both the business’ history as well as the technical aspects of processing peanuts. The things I’m learning on exchange in Japan. Okuya Peanut Factory Shop has grown to the point this originally one-man-business is now a strong exporter of both refined and unrefined peanuts and became a local hot-spot for peanut soft-serve ice cream.&lt;/p&gt;
&lt;p&gt;Peanut Ice
Due the clear, high quality waters nearby, the town of kitakata has plenty of premium sake breweries as well. We visited the &lt;strong&gt;Yamatogawa Sake Brewery&lt;/strong&gt;, dating back to 1790 and using only in-house cultivated Kitakata water and rice. We had the opportunity to visit their storehouse and engage in some tasting.&lt;/p&gt;
&lt;p class="center noshadow"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/32899526187/in/album-72157708568624144/" title="Kitakata Sake"&gt;&lt;img alt="Kitakata Sake" src="https://live.staticflickr.com/65535/32899526187_1f897ba6c8_z.jpg" style="width: 65%;"/&gt;&lt;/a&gt;
&lt;a class="center noshadow" href="https://www.flickr.com/photos/147061735@N04/47053919584/in/album-72157708568624144/" title="Peanut Ice"&gt;&lt;img alt="Peanut Ice" src="https://live.staticflickr.com/65535/47053919584_374fcc0a86_z.jpg" style="width: 25%;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;After our sake tasting, we had just an hour for lunch before ending our study-trip, and hurried to arguably the most famous ramen restaurant in Kitakata: &lt;strong&gt;Abe Shokudo&lt;/strong&gt; (あべ食堂). On our way, we actually passed a small shrine dedicated to ramen. No time for distractions though; there was some serious eating to be done.&lt;/p&gt;
&lt;p class="center noshadow"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/33966094608/in/album-72157708568624144/" title="Kitakata Ramen"&gt;&lt;img alt="Kitakata Ramen" src="https://live.staticflickr.com/65535/33966094608_54d8ea6892_z.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;a class="center noshadow" href="https://www.flickr.com/photos/147061735@N04/32899552627/in/album-72157708568624144/" title="Kitakata Ramen"&gt;&lt;img alt="Kitakata Ramen" src="https://live.staticflickr.com/65535/32899552627_fd6f4f261d_z.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;That’s right. Two pictures. My band-mate is a known ramen-aficionado and we ended up using our limited time during lunch to visit a second ramen restaurant right after, &lt;strong&gt;Makoto Shokudo&lt;/strong&gt; (まこと食堂). Although we were several minutes late to our bus back to the station and thus again got scolded by the fourth year student in charge of organization, I can’t say I regret making the decision to have a second portion.&lt;/p&gt;
&lt;h1 id="conclusion"&gt;&lt;a class="toclink" href="#conclusion"&gt;Conclusion &lt;i class="icon-smile small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;I’m still a bitter I missed the first part of the trip, but nevertheless it was a wonderful experience joining my friend on a school-trip and something I hadn’t expected to happen while studying in Japan. A good combination of studying, tourism and playtime amongst other students, I didn’t get too much sleep this trip but instead I got first-hand experience in Japanese student-life and good memories. Many talks with local citizens collaborating in revitalizing Fukushima’s tourism helped me get a deeper insight into aspects of marketing as well as the great extents of community-driven development.&lt;/p&gt;
&lt;p class="center noshadow"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/32899527017/in/album-72157708568624144/" title="FLP"&gt;&lt;img alt="FLP" src="https://live.staticflickr.com/65535/32899527017_0fbe1b1503_z.jpg" style="width:500px;height:350px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;The prefecture of Fukushima is in the public mind still, and especially amongst foreign tourists, deeply connected to the 2011 earthquake and nuclear disaster; needless to say dramatically affecting Fukushima tourism. Regardless of my opinion on nuclear energy and the handling of the actual incident, international research does show radiation levels on average in Fukushima, especially in distant areas like Aizu, to be equal or even lower than the average of unaffected major cities around the world. While tourists are primarily drawn to regions as Tokyo, Osaka, Kyoto and Nara; there is much to be discovered in Fukushima, a region of exceptional natural beauty, local cuisine, hot spring baths and well-maintained historical elements in daily life scenery. I thus sincerely do recommend future travelers to travel outside of this fixed ‘Japan-itinerary’ and enjoy the lifelong efforts of local communities such as those of Fukushima to promote their homes to travelers.&lt;/p&gt;
&lt;h1 id="gallery"&gt;&lt;a class="toclink" href="#gallery"&gt;Gallery &lt;i class="icon-camera-retro small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;style&gt;.embed-container { position: relative; padding-bottom: 56.25%; padding-top: 30px; height: 0; overflow: hidden; max-width: 100%; height: auto; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }&lt;/style&gt;
&lt;div class="embed-container"&gt;&lt;iframe allowfullscreen="" fram="0" mozallowfullscreen="" msallowfullscreen="" oallowfullscreen="" src="https://www.flickr.com/photos/147061735@N04/sets/72157708568624144/player" webkitallowfullscreen=""&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;div class="footnote"&gt;
&lt;hr/&gt;
&lt;ol&gt;
&lt;li id="fn-footnote"&gt;
&lt;p&gt;Ouchijuku by Stevie Poppe (&lt;a href="https://flic.kr/p/2euNnmK"&gt;https://flic.kr/p/2euNnmK&lt;/a&gt; - CC BY-SA 2.0) &lt;a class="footnote-backref" href="#fnref-footnote" title="Jump back to footnote 1 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="Personal"></category><category term="Travels"></category><category term="Japan"></category></entry><entry><title>Study-trip around Matsumoto</title><link href="https://steviepoppe.net/blog/2018/05/study-trip-around-matsumoto/" rel="alternate"></link><published>2018-05-21T00:00:00+02:00</published><updated>2018-05-21T00:00:00+02:00</updated><author><name>Stevie Poppe</name></author><id>tag:steviepoppe.net,2018-05-21:/blog/2018/05/study-trip-around-matsumoto/</id><summary type="html">

&lt;p&gt;Last April, I had the pleasure to my professor from KU Leuven on a study-trip to Matsumoto, accompanied by several KU Leuven schoolmates also present in Japan, as well as a Japanese historian and professor at Matsumoto’s Shinshū University, and his seminar students.&lt;/p&gt;
&lt;p&gt;On our study-trip, we would first visit the &lt;strong&gt;Old System Matsumoto High School Museum&lt;/strong&gt; (&lt;em&gt;Kyūsei Matsumoto kōkō kinenkan&lt;/em&gt; 旧制松本高校記念館) and received a guided tour to a tunnel in &lt;strong&gt;Satoyama&lt;/strong&gt;, said to be dug out by forced laborers during the last few months of the Pacific War. Later on we would visit &lt;strong&gt;Shinshū University&lt;/strong&gt; and hold an impromptu seminar on the topics covered that day, before the obligatory &lt;em&gt;nomikai&lt;/em&gt; (飲み会). On our second day, we would join our professor in the morning for brief breakfast and recap, before spending the rest of the day visiting the center of the city.&lt;/p&gt;

&lt;h1 id="brief-history"&gt;&lt;a class="toclink" href="#brief-history"&gt;Brief history &lt;i class="icon-history small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;A historic castle town and city in Nagano Prefecture, &lt;strong&gt;Matsumoto&lt;/strong&gt; is known as a popular destination for those looking to visit the mountain scenery or traditional hot spring resorts located around the &lt;strong&gt;Northern Japan Alps&lt;/strong&gt;. &lt;strong&gt;Matsumoto Castle&lt;/strong&gt; in particular is a well-known attraction due to its reputation as one of the most beautiful castles in Japan. Matsumoto is the birthplace of famous artist Yayoi Kusama, and in more recent history, Matsumoto has also attracted attention for having being targeted by doomsday cult Aum Shinrikyo in 1994, leading to eight deaths by a Sarin gas terror attack.&lt;/p&gt;
&lt;h1 id="itinerary"&gt;&lt;a class="toclink" href="#itinerary"&gt;Itinerary &lt;i class="icon-plane small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;I met up with a junior student of KU Leuven studying in Tokyo (&lt;em&gt;kohai&lt;/em&gt;, 後輩) for our highway bus from Shinjuku to Matsumoto, were we met up with a good friend and KU Leuven classmate of mine studying in Kyushu University. Our first evening was fairly uneventful as it was too late to explore the city. We ended up joining one of the Shinshū University students for some snacks and a few drinks in a Japanese-style bar, mostly catching up on life, before calling it a day and heading towards our hostel, close to Matsumoto Castle.&lt;/p&gt;
&lt;h2 id="matsumoto-high-school-museum"&gt;&lt;a class="toclink" href="#matsumoto-high-school-museum"&gt;Matsumoto High School Museum&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Having met up with our professor and a KU Leuven PhD student currently doing research in Kobe University, we joined the Shinshū University group on a bus ride to our first destination, the &lt;strong&gt;Matsumoto High School Museum&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Located in an impressive forest park, &lt;strong&gt;Agatonomori Park&lt;/strong&gt; (あが …&lt;/p&gt;</summary><content type="html">

&lt;p&gt;Last April, I had the pleasure to my professor from KU Leuven on a study-trip to Matsumoto, accompanied by several KU Leuven schoolmates also present in Japan, as well as a Japanese historian and professor at Matsumoto’s Shinshū University, and his seminar students.&lt;/p&gt;
&lt;p&gt;On our study-trip, we would first visit the &lt;strong&gt;Old System Matsumoto High School Museum&lt;/strong&gt; (&lt;em&gt;Kyūsei Matsumoto kōkō kinenkan&lt;/em&gt; 旧制松本高校記念館) and received a guided tour to a tunnel in &lt;strong&gt;Satoyama&lt;/strong&gt;, said to be dug out by forced laborers during the last few months of the Pacific War. Later on we would visit &lt;strong&gt;Shinshū University&lt;/strong&gt; and hold an impromptu seminar on the topics covered that day, before the obligatory &lt;em&gt;nomikai&lt;/em&gt; (飲み会). On our second day, we would join our professor in the morning for brief breakfast and recap, before spending the rest of the day visiting the center of the city.&lt;/p&gt;

&lt;h1 id="brief-history"&gt;&lt;a class="toclink" href="#brief-history"&gt;Brief history &lt;i class="icon-history small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;A historic castle town and city in Nagano Prefecture, &lt;strong&gt;Matsumoto&lt;/strong&gt; is known as a popular destination for those looking to visit the mountain scenery or traditional hot spring resorts located around the &lt;strong&gt;Northern Japan Alps&lt;/strong&gt;. &lt;strong&gt;Matsumoto Castle&lt;/strong&gt; in particular is a well-known attraction due to its reputation as one of the most beautiful castles in Japan. Matsumoto is the birthplace of famous artist Yayoi Kusama, and in more recent history, Matsumoto has also attracted attention for having being targeted by doomsday cult Aum Shinrikyo in 1994, leading to eight deaths by a Sarin gas terror attack.&lt;/p&gt;
&lt;h1 id="itinerary"&gt;&lt;a class="toclink" href="#itinerary"&gt;Itinerary &lt;i class="icon-plane small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;I met up with a junior student of KU Leuven studying in Tokyo (&lt;em&gt;kohai&lt;/em&gt;, 後輩) for our highway bus from Shinjuku to Matsumoto, were we met up with a good friend and KU Leuven classmate of mine studying in Kyushu University. Our first evening was fairly uneventful as it was too late to explore the city. We ended up joining one of the Shinshū University students for some snacks and a few drinks in a Japanese-style bar, mostly catching up on life, before calling it a day and heading towards our hostel, close to Matsumoto Castle.&lt;/p&gt;
&lt;h2 id="matsumoto-high-school-museum"&gt;&lt;a class="toclink" href="#matsumoto-high-school-museum"&gt;Matsumoto High School Museum&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Having met up with our professor and a KU Leuven PhD student currently doing research in Kobe University, we joined the Shinshū University group on a bus ride to our first destination, the &lt;strong&gt;Matsumoto High School Museum&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Located in an impressive forest park, &lt;strong&gt;Agatonomori Park&lt;/strong&gt; (あがたの森公園), the museum is set in the historical Matsumoto High School, a Taisho-era elite prep-school for Imperial university entrance examinations, and the only one still completely intact today. The building itself, as well as the remaining artifacts displayed throughout the museum, gave some insight in pre-war elite Japanese eduction system, and especially of note was the high levels of expertise these students had over the German language.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/46925391005/in/album-72157708563856654/" title="School"&gt;&lt;img alt="School" src="https://live.staticflickr.com/65535/46925391005_f56556819b_z.jpg" style="height:500px;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h2 id="satoyama-tunnel"&gt;&lt;a class="toclink" href="#satoyama-tunnel"&gt;Satoyama Tunnel&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Our next visit was to &lt;strong&gt;Satoyamabe&lt;/strong&gt; (里山辺): a guided tour through a mountain tunnel (地下壕) that our guide exapleined to be dug under horrible conditions by mainly Korean and Chinese forced laborers in the last months of the Second World War. The tour was held by a local non-profit organization called the &lt;strong&gt;Matsumoto Forced Labor Investigation Team&lt;/strong&gt; (松本強制労働調査団), who organize these tours out of the principle idea that such history too belongs to the legacy of Matsumoto, and should therefore not be erased from public memory, lest similar tendencies occur again.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/46925389955/in/album-72157708563856654/" title="Mine"&gt;&lt;img alt="Mine" src="https://live.staticflickr.com/65535/46925389955_5bdc291f93_z.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;a class="center border" href="https://www.flickr.com/photos/147061735@N04/40874942373/in/album-72157708563856654/" title="Mine"&gt;&lt;img alt="Mine" src="https://live.staticflickr.com/65535/40874942373_11eb40eed4_z.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;The tunnel was constructed under order &lt;strong&gt;of Mitsubishi Heavy Industries, Ltd. Nagoya Aviation Works&lt;/strong&gt; (三菱重工業株式会社名古屋航空製作所), whose factories were moved to Matsumoto City after an earthquake in December 1944 struck their main facilities in Nagoya. According to our guide, the company planned to built an underground plant to build parts for Mitsubishi’s successor to its Mitsubishi A6M Zero fighter aircraft, the Mitsubishi A7M Reppū (烈風).&lt;/p&gt;
&lt;p&gt;Local records of the town note approximately 7000 citizens, although official records contain only several hundred people, leaving much of Matsumoto’s wartime situation unknown. It should be noted that the billboard outside of the tunnel has been partly vandalized to hide the reference to forced labor, a topic sensitive amongst certain Japanese nationalists.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/40874942603/in/album-72157708563856654/" title="Mine"&gt;&lt;img alt="Mine" src="https://live.staticflickr.com/65535/40874942603_004bc829a5_z.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;a class="center border" href="https://www.flickr.com/photos/147061735@N04/46925389955/in/album-72157708563856654/" title="Mine"&gt;&lt;img alt="Mine" src="https://live.staticflickr.com/65535/46925389955_5bdc291f93_z.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h2 id="shinshu-university"&gt;&lt;a class="toclink" href="#shinshu-university"&gt;Shinshū University&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Although Matsumoto is not a particularly large city, it is home to several universities, including Shinshū University. Founded in the 19&lt;sup&gt;th&lt;/sup&gt; century and nowadays focusing primarily on interdisciplinary research, the university has a fairly good reputation within Japan, and offers a beautiful setting for any potential exchange student. Indeed, one of our undergraduate students studying there as a short-term exchange student, was highly enthusiastic about her experience and education.&lt;/p&gt;
&lt;p&gt;After reflecting, in an ad-hoc seminar, on our brief experience with a local example of pre-war elite education, as well as but one local artifacts of daily life for forced laborers during the Second World War, we concluded our evening with an expected dinner and some drinks.&lt;/p&gt;
&lt;h2 id="matsumoto"&gt;&lt;a class="toclink" href="#matsumoto"&gt;Matsumoto&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Come next day, we joined our professor for breakfast at a vegan bakery maintained by an alternative lifestyle couple he acquainted as PhD student in Tokyo. I’m hoping one day I too can have such experiences, visiting lifelong friends in Japan made during my period as student (perhaps even as PhD student) in Japan. One can dream…&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/32897750337/" title="Matsumoto"&gt;&lt;img alt="Matsumoto" src="https://live.staticflickr.com/65535/32897750337_147a583ae6_z.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;After having said our goodbyes (my professor had duties in Tokyo), we headed to the nearby &lt;strong&gt;Matsumoto Folkcraft Museum&lt;/strong&gt;, which had an interesting display of Meiji and Taisho-era billboards (&lt;em&gt;kanban&lt;/em&gt;, 看板). After a brief detour to a local hot spring (my friend from Kyushu University, despite now living in Fukushima, had never had the experience), we headed to the center of the city, to &lt;strong&gt;Matsumoto Castle&lt;/strong&gt;.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/32897751297/in/album-72157708563856654/" title="Matsumoto"&gt;&lt;img alt="Matsumoto" src="https://live.staticflickr.com/65535/32897751297_024f5efdf3_z.jpg" style="height:500px;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Built in the late 16&lt;sup&gt;th&lt;/sup&gt; century, Matsumoto Castle is one of few castles in Japan remaining almost completely intact, retaining its feudal era wooden interior rather than being rebuilt using concrete such as Osaka Castle. Designed as a fortress, much of its design caters to the use of long-range weaponry or entrapment, such as the hidden sixth floor used for unexpected attacks and hiding supplies.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/47052103924/" title="Matsumoto Castle"&gt;&lt;img alt="Matsumoto Castle" src="https://live.staticflickr.com/65535/47052103924_83b259c134_z.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;The idea that those without a visible Asian ethnic background are able to converse in Japan is not quite widespread, especially so in more touristic areas such as, take for example, Matsumoto Castle. While reading out loud a warning sign written in Japanese (warning visitors to be careful not to hit their heads upon ascending the stairs), an elderly man working there as local guide repeated, to my amusement (and very much to my friend’s annoyance), in rather incomprehensible English (not intended negatively, his effort to cater to foreign tourists is commendable) the exact same message. Upon responding in Japanese, we were once again replied to in English. Thanks.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/46925383945/" title="Nawate-dori"&gt;&lt;img alt="Nawate-dori" src="https://live.staticflickr.com/65535/46925383945_1d11d6f14c_z.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Our final stop was the &lt;strong&gt;Nakamachi District&lt;/strong&gt; and in particular its Nawate-dōri (なわて通り), a quaint shopping street running along a river. The street is commonly known as Frog Street, selling various frog-related trinkets due its historic association with, well, frogs 🐸. The story goes that a typhoon destroyed parts of the area, leading to the local frog population seeking shelter elsewhere. A symbol of this street, citizens built a ‘frog shrine’ in hopes of the frogs’ safe return (return and frog are both pronounced &lt;em&gt;kaeru&lt;/em&gt;, 帰る and 蛙), but alas.&lt;/p&gt;
&lt;p&gt;Regardless of the lack of actual living frogs, Nawate-dōri is incredibly charming and a pleasant area to spent our last hours in Matsumoto at.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/46925392105/in/album-72157708563856654/" title="Kaeru"&gt;&lt;img alt="Kaeru" src="https://live.staticflickr.com/65535/46925392105_67df29e6c2_z.jpg" style="height: 45%;"/&gt;&lt;/a&gt;
&lt;a class="center border" href="https://www.flickr.com/photos/147061735@N04/32897754937/in/album-72157708563856654/" title="Nawate-dori"&gt;&lt;img alt="Nawate-dori" src="https://live.staticflickr.com/65535/32897754937_3f33004b67_z.jpg" style="height: 45%;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h1 id="gallery"&gt;&lt;a class="toclink" href="#gallery"&gt;Gallery &lt;i class="icon-camera-retro small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;style&gt;.embed-container { position: relative; padding-bottom: 56.25%; padding-top: 30px; height: 0; overflow: hidden; max-width: 100%; height: auto; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }&lt;/style&gt;
&lt;div class="embed-container"&gt;&lt;iframe allowfullscreen="" frameborder="0" mozallowfullscreen="" msallowfullscreen="" oallowfullscreen="" src="https://www.flickr.com/photos/147061735@N04/sets/72157708563856654/player" webkitallowfullscreen=""&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;div class="footnote"&gt;
&lt;hr/&gt;
&lt;ol&gt;
&lt;li id="fn-footnote"&gt;
&lt;p&gt;Matsumoto Castle by Stevie Poppe (&lt;a href="https://flic.kr/p/25gYEw4"&gt;https://flic.kr/p/25gYEw4&lt;/a&gt; - CC BY-SA 2.0) &lt;a class="footnote-backref" href="#fnref-footnote" title="Jump back to footnote 1 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="Personal"></category><category term="Travels"></category><category term="Japan"></category></entry><entry><title>Travels: Golden Week at Okinawa</title><link href="https://steviepoppe.net/blog/2018/04/travels-golden-week-at-okinawa/" rel="alternate"></link><published>2018-04-27T00:00:00+02:00</published><updated>2018-04-27T00:00:00+02:00</updated><author><name>Stevie Poppe</name></author><id>tag:steviepoppe.net,2018-04-27:/blog/2018/04/travels-golden-week-at-okinawa/</id><summary type="html">

&lt;p&gt;During this year’s golden week in Japan, I joined several of my friends for a short trip to Okinawa Island, the main island of the Okinawa prefecture. Due its pleasant tropic weather and beautiful beaches at this time of the year, Okinawa is one of the more popular destinations during Golden Week, and for us too a good occasion to finally visit Japan’s tropics.&lt;/p&gt;

&lt;h1 id="brief-history"&gt;&lt;a class="toclink" href="#brief-history"&gt;Brief history &lt;i class="icon-history small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;One of 47 of Japan’s prefectures, Okinawa consists of over 100 small islands located between the island of Taiwan and Kyushu. Historically, the Okinawan Islands were home to the Ryukyu Kingdom and despite strong pressure from both Japan and China maintained a certain degree of sovereignty until complete annexation during the Meiji Restoration in the late 19&lt;sup&gt;th&lt;/sup&gt; century. For this reason, Okinawa does feel culturally distinct to the rest of Japan even today and, based on my conversation with Okinawans, it appears many Okinawans take pride in their identity as being Okinawan first, over a national pride of being Japanese.&lt;/p&gt;
&lt;p&gt;Due’s Okinawa tragic role in the Pacific War (with war casualties accounting for over a quarter of its civilian population) as well as its subsequent U.S. occupation until 1972, there is a certain animosity amongst Okinawans against both the United States and the Japanese government. That animosity is further fueled by the continuous role of Okinawa as location for U.S. military bases, hosting approximately half of US military personnel in Japan. News stories of harassment by US military, as well as rising concerns over pollution, have led to a strong politically active base and frequent protests held against the Japanese government.&lt;/p&gt;
&lt;p&gt;On a more positive side, Okinawa is considered a tropical paradise and attracts tourists both Japanese and foreign. Okinawa’s population is often mentioned in international news as having long record-spanning lifespans and living healthy lifestyles.&lt;/p&gt;
&lt;h1 id="itinerary"&gt;&lt;a class="toclink" href="#itinerary"&gt;Itinerary &lt;i class="icon-plane small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;We took a short local flight from Narita airport to Naha, the capital of Okinawa, followed by a convenient monorail ride directly to the city. Although we hoped to explore some of the nearby islands for scuba diving, we arrived during the rainy season and limited our activities to the main Okinawan Island. Our first days would be spent around the city of Nago, on the northern part of the island, while we’d spent the remaining days around the capital.&lt;/p&gt;
&lt;h2 id="nago"&gt;&lt;a class="toclink" href="#nago"&gt;Nago&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;We spent the first night in a …&lt;/p&gt;</summary><content type="html">

&lt;p&gt;During this year’s golden week in Japan, I joined several of my friends for a short trip to Okinawa Island, the main island of the Okinawa prefecture. Due its pleasant tropic weather and beautiful beaches at this time of the year, Okinawa is one of the more popular destinations during Golden Week, and for us too a good occasion to finally visit Japan’s tropics.&lt;/p&gt;

&lt;h1 id="brief-history"&gt;&lt;a class="toclink" href="#brief-history"&gt;Brief history &lt;i class="icon-history small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;One of 47 of Japan’s prefectures, Okinawa consists of over 100 small islands located between the island of Taiwan and Kyushu. Historically, the Okinawan Islands were home to the Ryukyu Kingdom and despite strong pressure from both Japan and China maintained a certain degree of sovereignty until complete annexation during the Meiji Restoration in the late 19&lt;sup&gt;th&lt;/sup&gt; century. For this reason, Okinawa does feel culturally distinct to the rest of Japan even today and, based on my conversation with Okinawans, it appears many Okinawans take pride in their identity as being Okinawan first, over a national pride of being Japanese.&lt;/p&gt;
&lt;p&gt;Due’s Okinawa tragic role in the Pacific War (with war casualties accounting for over a quarter of its civilian population) as well as its subsequent U.S. occupation until 1972, there is a certain animosity amongst Okinawans against both the United States and the Japanese government. That animosity is further fueled by the continuous role of Okinawa as location for U.S. military bases, hosting approximately half of US military personnel in Japan. News stories of harassment by US military, as well as rising concerns over pollution, have led to a strong politically active base and frequent protests held against the Japanese government.&lt;/p&gt;
&lt;p&gt;On a more positive side, Okinawa is considered a tropical paradise and attracts tourists both Japanese and foreign. Okinawa’s population is often mentioned in international news as having long record-spanning lifespans and living healthy lifestyles.&lt;/p&gt;
&lt;h1 id="itinerary"&gt;&lt;a class="toclink" href="#itinerary"&gt;Itinerary &lt;i class="icon-plane small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;We took a short local flight from Narita airport to Naha, the capital of Okinawa, followed by a convenient monorail ride directly to the city. Although we hoped to explore some of the nearby islands for scuba diving, we arrived during the rainy season and limited our activities to the main Okinawan Island. Our first days would be spent around the city of Nago, on the northern part of the island, while we’d spent the remaining days around the capital.&lt;/p&gt;
&lt;h2 id="nago"&gt;&lt;a class="toclink" href="#nago"&gt;Nago&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;We spent the first night in a small vacation house close to several beaches and the city of &lt;strong&gt;Nago&lt;/strong&gt; (名護).&lt;/p&gt;
&lt;p&gt;Due the rain, we deciding on spending our first day around the &lt;strong&gt;Ocean Expo Park&lt;/strong&gt;, famous for its &lt;strong&gt;Churaumi Aquarium&lt;/strong&gt; (which held the record of largest aquarium in the world until 2005). The Kuroshiu Sea, a 35 meter long tank, is particularly impressive, hosting whale sharks as well as several large manta rays. The Park’s massive surroundings are beautiful as well and perfect for spending a day walking around at (or taking the cute shuttle buses between different attractions instead).&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/33965968128/" title="Okinawa Aquarium"&gt;&lt;img alt="Okinawa Aquarium" src="https://live.staticflickr.com/65535/33965968128_e77280b21a_z.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;On our way back from the aquarium, we entered a nearby hotel, Marriott Resort, for dinner. Although reserved for guests of the hotel, we were invited to a small introduction of Okinawan dancing organized by a primary school class and their teachers.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/32899412147/" title="Okinawan Dance"&gt;&lt;img alt="Okinawan Dance" src="https://live.staticflickr.com/65535/32899412147_8979ae27bd_z.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;On our second day there, a Spanish diving instructor picked us up for some lessons on surfing. After we finished changing gear, two of our friends, from mainland China, shockingly revealed they had never been in the ocean before or even had any experience swimming. Nice. Myself, I’m not particularly known for having a good sense of balance, and unsurprisingly I never actually managed to stand upright on the board for longer as several microseconds. At least I tried.&lt;/p&gt;
&lt;h2 id="naha"&gt;&lt;a class="toclink" href="#naha"&gt;Naha&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Our next two days were spent in the main capital of Okinawa, Naha. Our hostel in Naha, somewhere around &lt;strong&gt;Ebisu Street&lt;/strong&gt; (えびす通り), was located right next to a small arcade with famous ’80s and ’90s arcade games such as the Total Slug series; a steal for only 50 yen per round.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/32899415027/" title="Arcade"&gt;&lt;img alt="Arcade" src="https://live.staticflickr.com/65535/32899415027_e56f430aed_z.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;In celebration of &lt;strong&gt;Children’s Day&lt;/strong&gt; (子供の日), there were various activities around Naha, including dance events at the popular central &lt;strong&gt;Kokusai Street&lt;/strong&gt; (国際通り). The Okinawan cuisine (沖縄料理) is popular all over Japan (one of my professors was particularly fond of the kitchen and during 飲み会 would often take us to his favorite Okinawan restaurant), so we spent plenty of time around trying local delicacies. Okinawan soba, Rafute and Gōyā chanpurū are some famous local dishes, and I personally loved the Beni-imo (紅芋) ice-cream. Habushu (ハブ酒), a form of Okinawan liquor (awamori) mixed with the venom of a pit viper, is often seen for sale as well.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/32899413747/" title="Okinawa Snake Liquer"&gt;&lt;img alt="Okinawa Snake Liquer" src="https://live.staticflickr.com/65535/32899413747_375b6b4b4b_z.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Another must-visit was &lt;strong&gt;Shuri Castle&lt;/strong&gt; (首里城), the historic main palace of the Ryukyu Kingdom, dating back to the early 14&lt;sup&gt;th&lt;/sup&gt; century. The current castle is however a reconstruction; the original was almost completely ruined after the Pacific War. Nevertheless the building is magnificent and unlike any castles I’ve seen in Japan, yet distinct enough from what I know of Chinese royal architecture of this period. The surroundings are extraordinary as well, with a stunning view on the city below and the distant sea.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/32899417107/in/album-72157680389710358/" title="Okinawa Castle"&gt;&lt;img alt="Okinawa Castle" src="https://live.staticflickr.com/65535/32899417107_b2f7275719_z.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;a class="center border" href="https://www.flickr.com/photos/147061735@N04/47843446871/in/album-72157680389710358/" title="Okinawa"&gt;&lt;img alt="Okinawa" src="https://live.staticflickr.com/65535/47843446871_3230c0f380_z.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;On our last day, we visited Naha’s main beach, &lt;strong&gt;Naminoue&lt;/strong&gt; (波上). There were some festivities with local musicians as well as a large picnic co-organized by both Japanese SDF members and US military.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/40876624433/in/album-72157680389710358/" title="Okinawa"&gt;&lt;img alt="Okinawa" src="https://live.staticflickr.com/65535/40876624433_c96930ae51_z.jpg" style="height:500px;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;On our last evening, we visited &lt;strong&gt;Club Epica&lt;/strong&gt;, a nightclub in the outgoing district, specifically popular amongst foreign tourists and US military. Due the holidays, there were several dance events and concerts inside the club, spotlighting some of Okinawa’s traditions while embracing modern elements resulting in a form of psychedelic Okinawan trance musical style. We didn’t stick around too long after the events were finished, however. Unfortunately some of the military staff present were quite drunk and started harassing some of the girls around, including two girls in our group; a sober view on what for some might by daily reality in Okinawa.&lt;/p&gt;
&lt;h1 id="music"&gt;&lt;a class="toclink" href="#music"&gt;Music &lt;i class="icon-music small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;While traveling, I make it a habit of finding good music by listening to local radio stations or asking recommendations to people I meet in hostels or bars, as my own form of personal souvenir. Although Okinawa is famous for ‘Queen of Japanese Pop’ Namie Amuro and musicians like Mongol800, traditional Okinawan music finds its roots in Ryukyu culture and is both melodically and aurally distinct. Although I’ve known the song for years, I have no choice but to select The Boom’s &lt;strong&gt;Shimauta&lt;/strong&gt; (島唄), as arranged by Okinawan singer Natsukawa Rimi. I had the honor of rearranging and performing this song with several classmates at the emeritus celebration of &lt;a href="https://en.wikipedia.org/wiki/Willy_Vande_Walle"&gt;Dr. Prof. Vande Walle&lt;/a&gt;, one of my best memories as undergraduate student Japanese Studies at KU Leuven.&lt;/p&gt;
&lt;p&gt;&lt;span class="videobox"&gt;
&lt;iframe allowfullscreen="" frameborder="0" height="390" mozallowfullscreen="" src="https://www.youtube.com/embed/2WphjYUJJo0" webkitallowfullscreen="" width="640"&gt;
&lt;/iframe&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;h1 id="conclusion"&gt;&lt;a class="toclink" href="#conclusion"&gt;Conclusion &lt;i class="icon-smile small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;It would’ve been fun to spent some more time around the other islands near Okinawa Island, and scuba diving in Okinawan waters was something I did look forward to. Nevertheless it was a fun, relaxed trip with friends and based on dialog with local Okinawans, some readings and my own experiences there, I did to a certain degree get a bit more insight in local problems plaguing the island.&lt;/p&gt;
&lt;h1 id="gallery"&gt;&lt;a class="toclink" href="#gallery"&gt;Gallery &lt;i class="icon-camera-retro small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;style&gt;.embed-container { position: relative; padding-bottom: 56.25%; padding-top: 30px; height: 0; overflow: hidden; max-width: 100%; height: auto; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }&lt;/style&gt;
&lt;div class="embed-container"&gt;&lt;iframe allowfullscreen="" frameborder="0" mozallowfullscreen="" msallowfullscreen="" oallowfullscreen="" src="https://www.flickr.com/photos/147061735@N04/sets/72157680389710358/player" webkitallowfullscreen=""&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;div class="footnote"&gt;
&lt;hr/&gt;
&lt;ol&gt;
&lt;li id="fn-footnote"&gt;
&lt;p&gt;Okinawa by Stevie Poppe (&lt;a href="https://flic.kr/p/25h8ojM"&gt;https://flic.kr/p/25h8ojM&lt;/a&gt; - CC BY-SA 2.0) &lt;a class="footnote-backref" href="#fnref-footnote" title="Jump back to footnote 1 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="Personal"></category><category term="Travels"></category><category term="Japan"></category></entry><entry><title>Travels: South Korea</title><link href="https://steviepoppe.net/blog/2018/04/travels-south-korea/" rel="alternate"></link><published>2018-04-05T00:00:00+02:00</published><updated>2018-04-05T00:00:00+02:00</updated><author><name>Stevie Poppe</name></author><id>tag:steviepoppe.net,2018-04-05:/blog/2018/04/travels-south-korea/</id><summary type="html">
&lt;p&gt;As an undergraduate student at my Belgian university, I took several courses related to the Korean language and Korean history, which in turn made me quite eager to visit the country, given that I’d be living relatively close for the next year and a half. During my first semester studying in Japan, I was fortunate enough to make several good friends from South Korea. One of them had already left Japan by the end of the semester, and two of friends still remaining took the academic break in March as an opportunity to return to Seoul for several weeks, inviting me as well: an excellent way of celebrating the successful completion of my first semester in Japan.&lt;/p&gt;
&lt;h1 id="brief-history"&gt;&lt;a class="toclink" href="#brief-history"&gt;Brief history &lt;i class="icon-history small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;South Korea, officially known as the Republic of Korea, is an East Asian country east of Japan. Despite being sandwiched in-between China and Japan, the Korean Peninsula historically did well to repel repeated attempts of invasion and form an own distinct culture. With evidence of Korean settlements (confederacies) going back many centuries BC, and after hosting three major kingdoms (&lt;em&gt;Baekje&lt;/em&gt;, &lt;em&gt;Silla&lt;/em&gt; and &lt;em&gt;Goguryeo&lt;/em&gt;) as well as smaller confederacies for seven centuries, the peninsula first reached unification in the 7&lt;sup&gt;th&lt;/sup&gt; century, leading to new peaks in cultural development.&lt;/p&gt;
&lt;p&gt;In recent history, Japan’s victory in the 1905 Russo-Japanese War led to Japanese occupation, with official annexation in 1910; until Japan’s defeat in the Second World War. The Korean Peninsula subsequently suffered the effects of the Cold War in an ideological proxy war between the North and the South. Although an armistice has been reached, the conflict remains far from solved.&lt;/p&gt;
&lt;p&gt;The topics of Japanese occupation and war crimes remain highly sensitive and are strong political weapons amongst nationalists in both countries. Nevertheless, the steady growth of Republic of Korea’s worldwide soft power (韓流 / 한류, the Hallyu Wave) has warmed the younger Japanese generations to renewed relations with the Republic of Korea. Studying the Korean language is rapidly gaining traction, and many Japanese citizens visit the Republic of Korea for tourism or as exchange students. Likewise, under influence of decades of Japanese soft power (“Cool Japan”), Japan is an increasingly popular destination for Korean tourists and exchange students.&lt;sup&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;h1 id="itinerary"&gt;&lt;a class="toclink" href="#itinerary"&gt;Itinerary &lt;i class="icon-plane small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;When first planning my trip, I intended a fairly active trip covering Seoul, Sokcho and Busan, with a day-trip to Gapyeong. Right before departure however, my friends …&lt;/p&gt;</summary><content type="html">

&lt;p&gt;As an undergraduate student at my Belgian university, I took several courses related to the Korean language and Korean history, which in turn made me quite eager to visit the country, given that I’d be living relatively close for the next year and a half. During my first semester studying in Japan, I was fortunate enough to make several good friends from South Korea. One of them had already left Japan by the end of the semester, and two of friends still remaining took the academic break in March as an opportunity to return to Seoul for several weeks, inviting me as well: an excellent way of celebrating the successful completion of my first semester in Japan.&lt;/p&gt;

&lt;h1 id="brief-history"&gt;&lt;a class="toclink" href="#brief-history"&gt;Brief history &lt;i class="icon-history small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;South Korea, officially known as the Republic of Korea, is an East Asian country east of Japan. Despite being sandwiched in-between China and Japan, the Korean Peninsula historically did well to repel repeated attempts of invasion and form an own distinct culture. With evidence of Korean settlements (confederacies) going back many centuries BC, and after hosting three major kingdoms (&lt;em&gt;Baekje&lt;/em&gt;, &lt;em&gt;Silla&lt;/em&gt; and &lt;em&gt;Goguryeo&lt;/em&gt;) as well as smaller confederacies for seven centuries, the peninsula first reached unification in the 7&lt;sup&gt;th&lt;/sup&gt; century, leading to new peaks in cultural development.&lt;/p&gt;
&lt;p&gt;In recent history, Japan’s victory in the 1905 Russo-Japanese War led to Japanese occupation, with official annexation in 1910; until Japan’s defeat in the Second World War. The Korean Peninsula subsequently suffered the effects of the Cold War in an ideological proxy war between the North and the South. Although an armistice has been reached, the conflict remains far from solved.&lt;/p&gt;
&lt;p&gt;The topics of Japanese occupation and war crimes remain highly sensitive and are strong political weapons amongst nationalists in both countries. Nevertheless, the steady growth of Republic of Korea’s worldwide soft power (韓流 / 한류, the Hallyu Wave) has warmed the younger Japanese generations to renewed relations with the Republic of Korea. Studying the Korean language is rapidly gaining traction, and many Japanese citizens visit the Republic of Korea for tourism or as exchange students. Likewise, under influence of decades of Japanese soft power (“Cool Japan”), Japan is an increasingly popular destination for Korean tourists and exchange students.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-1" id="fnref-1" rel="footnote"&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;h1 id="itinerary"&gt;&lt;a class="toclink" href="#itinerary"&gt;Itinerary &lt;i class="icon-plane small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;When first planning my trip, I intended a fairly active trip covering Seoul, Sokcho and Busan, with a day-trip to Gapyeong. Right before departure however, my friends warned me of a sudden increase in yellow dust (PM2.5) from the Chinese mainland; it would be best to stay indoors as much as possible and make proper use of dust masks. I had never been confronted with air pollution to such an extent before, and on arrival I really was aghast. Without exaggerating at times it was difficult to see the actual color of traffic lights in front of me, and despite sufficient use of masks, I often felt sore in my throat or lungs. Needless to say, I altered my itinerary to reflect these changes and make the best of my time with my friends; centered mostly around Seoul instead, with a brief detour to the north for hiking, and to the DMZ.&lt;/p&gt;
&lt;h2 id="seoul-hongdae-sincheon"&gt;&lt;a class="toclink" href="#seoul-hongdae-sincheon"&gt;Seoul: Hongdae &amp;amp; Sincheon&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I stayed in a hostel in &lt;strong&gt;Hongdae&lt;/strong&gt;, a ridiculously trendy, lively neighborhood centered around the prestigious &lt;strong&gt;Hongik art university&lt;/strong&gt;; in close vicinity to &lt;strong&gt;Ehwa Woman’s University&lt;/strong&gt; and &lt;strong&gt;Yonsei University&lt;/strong&gt;. The growth of K-pop and the idol industry, with many starting idols performing in this region, has made Hongdae famous amongst Koreans and foreign tourists alike. At night, the Hongdae public space transforms into something more suitable for wild nightlife; with many clubs and cheap bars open until early in the morning.&lt;/p&gt;
&lt;p&gt;After dropping of my backpack, I met up with Suna, my Korean friend and &lt;em&gt;senpai&lt;/em&gt; at my Japanese university, and visited the &lt;strong&gt;Songpa&lt;/strong&gt; district, known for the &lt;strong&gt;Olympic Park&lt;/strong&gt;, the &lt;strong&gt;Lotte World&lt;/strong&gt; department complex and the nightlife district of &lt;strong&gt;Sincheon&lt;/strong&gt; (신천). As far as first impressions go, Seoul felt spacious with careful city-planning centered around accessibility. Due the air quality, the massive Lotte World Tower landmark felt quite ominous however; according to my friends it is often referred to tongue-in-cheek as &lt;strong&gt;Sauron’s Tower&lt;/strong&gt; (사우론의눈).&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/47037930124/" title="Tapas"&gt;&lt;img alt="Tapas" src="https://live.staticflickr.com/65535/47037930124_63fc0fed23_k.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;After we met up with Suna’s childhood friend, we decided to have dinner in Sincheon, with my friends largely in control of the evening. They ordered a bunch of dishes I should try, and although I never actually asked for any alcohol drinks, ordered several pints of beer and a bottle of Korean &lt;em&gt;Soju&lt;/em&gt; on top. Apparently it is a common habit to pour Soju into one’s drink, known as &lt;em&gt;Somaek&lt;/em&gt; (소맥). What a way to learn new cultural traditions. Like the &lt;em&gt;izakaya&lt;/em&gt; culture of drinking and eating at Japanese pubs, it appeared quite common too in South Korea to spent the night hopping around various eateries until early in the morning, which ended up exactly how I spent my first night in South Korea.&lt;/p&gt;
&lt;h2 id="dmz-seoul"&gt;&lt;a class="toclink" href="#dmz-seoul"&gt;DMZ &amp;amp; Seoul&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Although I’ve enjoyed little sleep, I had a reservation for a tour to the &lt;strong&gt;Korean Demilitarized Zone&lt;/strong&gt;.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-2" id="fnref-2" rel="footnote"&gt;3&lt;/a&gt;&lt;/sup&gt; Not a trip one does for sightseeing, a visit to the DMZ and most militarized region in the world is quite confrontational; the trip across the &lt;strong&gt;Freedom Road&lt;/strong&gt; itself, a barren landscape with the occasional military vehicle passing by, a sign for what is to come.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/33950201518/in/album-72157708532361014/" title="DMZ"&gt;&lt;img src="https://live.staticflickr.com/65535/33950201518_6e472210a4_k.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;a class="center border" href="https://www.flickr.com/photos/147061735@N04/46911288505/in/album-72157708532361014/" title="DMZ"&gt;&lt;img alt="DMZ" src="https://live.staticflickr.com/65535/46911288505_7e0c95e117_k.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Through the tour our group had the opportunity to walk through &lt;strong&gt;The Third Tunnel&lt;/strong&gt;, one of several tunnels discovered in the ‘70’s and designed by North Korea for an invasion to the south until timely discovery (although North Korea claims the opposite). The proximity of the tunnel to Munsan and Seoul shows the reality of how close both countries were to renewed conflict.&lt;/p&gt;
&lt;p&gt;Next, we had a short stop at the &lt;strong&gt;Dora Observatory&lt;/strong&gt;, an observatory on the demilitarized zone and the furthest foreign tourists are allowed to go without entering the Joint Security Area. binoculars offer a view on North Korean’s so-called propaganda village as well as the city of Gaesung, but air pollution levels hindered our view this day.&lt;/p&gt;
&lt;p&gt;The final stop was a visit to &lt;strong&gt;Dorasan Station&lt;/strong&gt;, passing the Unification Village. Dorasan Station is the northernmost station of South Korea and will serve as railway connecting the North and South when political relations improve. While the trip conveyed to a certain extent the tragedy of a people, families, being torn apart, I was moved by the message of hope and expectation towards future reunification.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/47827449771/" title="South Korea"&gt;&lt;img alt="South Korea" src="https://live.staticflickr.com/65535/47827449771_58a4123d64_k.jpg" style="height:500px;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Shortly after noon I met up with Hani, a close friend, classmate and colleague at my Japanese university for a visit around the historical core of the city.&lt;/p&gt;
&lt;p&gt;First on the list was &lt;strong&gt;Gyeongbokgung&lt;/strong&gt;, the most famous of five Joseon-era palaces in Seoul and a stellar example of traditional Korean architectural principles and Joseon court life. Of note were both the stories of several young volunteers guiding English-speaking tourists around&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-3" id="fnref-3" rel="footnote"&gt;4&lt;/a&gt;&lt;/sup&gt; and the many English-language signs around the palace detailing the Japanese assassination of Empress Myeongseong.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-4" id="fnref-4" rel="footnote"&gt;5&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;We passed the nearby palaces of &lt;strong&gt;Changdeokgung&lt;/strong&gt; and &lt;strong&gt;Changyeonggung&lt;/strong&gt;, as well as the UNESCO designated Confucianist &lt;strong&gt;Jongmyo Shrine&lt;/strong&gt;, before reaching the beautiful housing area of &lt;strong&gt;Bukchon&lt;/strong&gt;. Still a residential area today, Bukchon is a prime example of traditional Korean houses known as &lt;em&gt;hanok&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;We finished our day with a stop as the nearby &lt;strong&gt;Insa-dong&lt;/strong&gt; market street for some shopping and dinner; as well as a brisk walk around the &lt;strong&gt;Cheonggyecheon&lt;/strong&gt; creek flowing through downtown Seoul.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/47827450081/in/album-72157708532361014/" title="South Korea"&gt;&lt;img alt="South Korea" src="https://live.staticflickr.com/65535/47827450081_29b79ffad4_k.jpg" style="height:500px;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Yellow dust reached peak levels the following day, and thus I was forced to remain indoors for most of the day. &lt;strong&gt;The National Museum of Korea&lt;/strong&gt; was definitely a highlight however, and gave to certain degrees more context to what I had formerly been taught in Korean History and Korean Culture classes. In contrast, I must admit that the actual exhibitions held inside the &lt;strong&gt;National War Memorial&lt;/strong&gt;, specifically the English explanations, were a letdown. That is to say, I felt the narratives the exhibitions were trying to portray lacked nuance and relied heavily on simplified, patriotic good versus evil rhetoric. This of course triggers questions on the actual social function of museums or memorials, let alone one on a war that is technically still on-going. Having just visited the DMZ myself the day beforehand, I experienced strong messages of reconciliation and unification, again exemplified through the statue of two brothers outside of the War Memorial. This contrasted at times with the contradictory narratives of the exhibitions itself.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/40861049143/in/album-72157708532361014/" title="War Memorial"&gt;&lt;img alt="National Museum" src="https://live.staticflickr.com/65535/40861049143_fe122b391b_k.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;a class="center border" href="https://www.flickr.com/photos/147061735@N04/47037934704/in/album-72157708532361014/" title="National Museum"&gt;&lt;img alt="National Museum" src="https://live.staticflickr.com/65535/47037934704_4e1197e885_k.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Anyway. I met up with Hani again in the afternoon, shortly before she would leave to Tokyo again. We spent some time in the massive Lotte complex; which houses one of the largest permanent cinema screens in the world. We were unfortunately not able to fully enjoy said screen to its full potential; having wasted time and money on the abysmal sequel to Del Toro’s Kaiju-homage&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-5" id="fnref-5" rel="footnote"&gt;6&lt;/a&gt;&lt;/sup&gt; Pacific Rim.&lt;/p&gt;
&lt;p&gt;Despite the bad air quality, people were relatively hesitant to wear protective masks. Instead, it was more common to see young people sit outside smoking and drinking all day, without a care in the world. My friend somewhat pessimistically taught me about a popular satirical term on the South Korean Internet: &lt;a href="https://en.wikipedia.org/wiki/Hell_Joseon"&gt;Hell Joseon&lt;/a&gt;, a term indicating the reality of South Korea’s current socioeconomic state, with many facing intense pressure to achieve, harsh working conditions and rising unemployment. At this time, a popular meme on Japanese social media portrayed working conditions for millennials in South Korea to be of such drastic levels that one will either end up collapsing of stress (&lt;em&gt;Karōshi&lt;/em&gt; 過労死) or end up working in a fried chicken store.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-5" id="fnref2-5" rel="footnote"&gt;6&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/47827449491/" title="Movie Posters"&gt;&lt;img alt="Movie Posters" src="https://live.staticflickr.com/65535/47827449491_ae85a2862e_k.jpg" style="height:500px;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h2 id="sokcho"&gt;&lt;a class="toclink" href="#sokcho"&gt;Sokcho&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;One of my good Belgian friends planned a two-week trip to Seoul and Japan. After meeting up at the station, we left to &lt;strong&gt;Sokcho&lt;/strong&gt; early in the evening, hoping to spent a day trekking through the famous &lt;strong&gt;Seoraksan National Park&lt;/strong&gt;.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/40861046573/in/album-72157708532361014/" title="Seorak-san"&gt;&lt;img alt="Seorak-san" src="https://live.staticflickr.com/65535/40861046573_252dd39825_k.jpg" style="height:500px;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;After an initial cable car ride to the &lt;strong&gt;Gwongeumseong Fortress&lt;/strong&gt;; we enjoyed more impressive views hiking to &lt;strong&gt;Ulsanbawi Rock&lt;/strong&gt; (passing the beautiful &lt;strong&gt;Sinheungsa Temple&lt;/strong&gt; on our way), tracing the &lt;strong&gt;Cheonbuldong Valley&lt;/strong&gt; trail and viewing the &lt;strong&gt;Daeseung Falls&lt;/strong&gt;. Evening fell before we realized, and the hike back was a bit difficult due the lack of light, and more worryingly, noises serving as stark reminders that we were alone in wilderness, surrounded by plenty of wildlife.&lt;/p&gt;
&lt;h2 id="last-day"&gt;&lt;a class="toclink" href="#last-day"&gt;Last day&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Sokcho is a seaside town, so how could we not spent our last hours in Sokcho visiting the local fish market? A tad overwhelming for sure, but after one of the employees saw our clueless foreign faces and helped set us up, I enjoyed by far one of the best fish-based meals I’ve ever had. I was however a bit taken aback by a cute, young Korean couple sitting near us. Reflecting the drinking culture I’ve experienced on my first night in Seoul, the couple must’ve drunken a dozen pints of beer with additional soji shots. A scene which felt rather out of place for a late-morning Wednesday.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/47037933854/" title="Sokcho"&gt;&lt;img alt="Sokcho" src="https://live.staticflickr.com/65535/47037933854_a4b2d1cdf2_k.jpg" style="height:500px;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;We returned early in the afternoon, in time to meet up with Ina, my Japanese language classmate and part of my main friend circle during the first semester. While I brought my Belgian friend (who does not speak Japanese or Korean), she brought one of her friends, who speaks neither Japanese nor English. Nonetheless it was a happy reunion and after a few drinks language barriers were of little importance.&lt;/p&gt;
&lt;p&gt;Although it was my last day in South Korea, my Belgian friend would stay a bit longer for sightseeing. We had however, under influence of the Hallyu Wave ourselves, agreed many years ago to one day go clubbing in Seoul together. The perfect occasion to make true on that agreement, I spent my last night in Seoul with my Belgian and Korean friends enjoying Seoul’s nightlife; before heading straight to the airport next day; feeling dead, but satisfied.&lt;/p&gt;
&lt;h1 id="music"&gt;&lt;a class="toclink" href="#music"&gt;Music &lt;i class="icon-music small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;While traveling, I’ve made it habit of listening to local radio stations or ask for recommendations on any local music scene, as a form of personal souvenir. One of my Korean friends introduced me to a lot of k-pop idols and due sufficient exposure I’ve to a certain degree started to appreciate some releases. This trip was marked by GAIN’s (가인) Paradise Lost.&lt;/p&gt;
&lt;p&gt;&lt;span class="videobox"&gt;
&lt;iframe allowfullscreen="" frameborder="0" height="390" mozallowfullscreen="" src="https://www.youtube.com/embed/4i32ANEa5mk" webkitallowfullscreen="" width="640"&gt;
&lt;/iframe&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;h1 id="conclusion"&gt;&lt;a class="toclink" href="#conclusion"&gt;Conclusion &lt;i class="icon-smile small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Despite the bad timing of my visit (periods between December and March are notorious for declining air quality and a rise in PM2.5; often attributed to mainland China’s relocation of its environmentally worst offending factories west of the Korean Peninsula), I’ve had a wonderful trip. It was a joy staying in Seoul, meeting my friends and experiencing the things I’ve learned about in classrooms in real life for the first time. Furthermore, I fell in love with the Korean kitchen&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-6" id="fnref-6" rel="footnote"&gt;7&lt;/a&gt;&lt;/sup&gt; and have started cooking various dishes myself afterwards. I definitely look forward to visit again and resume my original itinerary.&lt;/p&gt;
&lt;h1 id="gallery"&gt;&lt;a class="toclink" href="#gallery"&gt;Gallery &lt;i class="icon-camera-retro small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;style&gt;.embed-container { position: relative; padding-bottom: 56.25%; padding-top: 30px; height: 0; overflow: hidden; max-width: 100%; height: auto; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }&lt;/style&gt;
&lt;div class="embed-container"&gt;&lt;iframe allowfullscreen="" frameborder="0" mozallowfullscreen="" msallowfullscreen="" oallowfullscreen="" src="https://www.flickr.com/photos/147061735@N04/sets/72157708532361014/player" webkitallowfullscreen=""&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;div class="footnote"&gt;
&lt;hr/&gt;
&lt;ol&gt;
&lt;li id="fn-footnote"&gt;
&lt;p&gt;Seoul by Stevie Poppe (&lt;a href="https://flic.kr/p/2fSmbwX"&gt;https://flic.kr/p/2fSmbwX&lt;/a&gt; - CC BY-SA 2.0) &lt;a class="footnote-backref" href="#fnref-footnote" title="Jump back to footnote 1 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-1"&gt;
&lt;p&gt;Loose from an already present diaspora with ethnic roots stemming back to the Korean peninsula. &lt;a class="footnote-backref" href="#fnref-1" title="Jump back to footnote 2 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-2"&gt;
&lt;p&gt;Ordering a tour in advance is the only way one can visit the area. I went with VIP Travel and would recommend that one. Due military drills it was not possible to visit the JSA, the Joint Security Area, on the border of South and North Korea. &lt;a class="footnote-backref" href="#fnref-2" title="Jump back to footnote 3 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-3"&gt;
&lt;p&gt;A common way to gain real-life English practice. &lt;a class="footnote-backref" href="#fnref-3" title="Jump back to footnote 4 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-4"&gt;
&lt;p&gt;A tragic historical event often considered as the start of contemporary anti-Japanese sentiment in Korea. Empress Myeongseong’s story has been adapted in a variety of media including an extremely popular 2001 South Korean television series. &lt;a class="footnote-backref" href="#fnref-4" title="Jump back to footnote 5 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-5"&gt;
&lt;p&gt;A Japanese genre of film featuring large monsters, popularized through the Godzilla series. &lt;a class="footnote-backref" href="#fnref-5" title="Jump back to footnote 6 in the text"&gt;↩&lt;/a&gt;&lt;a class="footnote-backref" href="#fnref2-5" title="Jump back to footnote 6 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-6"&gt;
&lt;p&gt;Seriously, while known for being rather spicy, the richness of Korean cuisine is amazing. while I definitely enjoy such dishes as Samgyeopsal (삼겹살), Bulgogi (불고기), Gimbap (김밥), Cold Noodles (Mul Naengmyeon 물 냉면), and Gogigui (고기구이), with a side serving of Kimchi (김치) or Buchimgae (부침개), my favorites are by far Dak galbi (닭갈비, quite popular on Japanese social media), Kimchi Jigae (김치찌개), Bibimbap (비빔밥) and Crispy Korean chicken (Yangnyeom tongdak, 양념통닭). For those in the Tokyo neighborhood, I recommend Shinchan (辛ちゃん) for its chicken, Shijan Dakgalbi (市場ダッカルビ) for its Cheese Dak galbi, and Saemaeul Sikdang (セマウル食堂) for Kimchi Jigae. I’ve eaten in those places more than I care to admit. Don’t forget to try the Korean sparkling rice wine makkoli (막걸리)! &lt;a class="footnote-backref" href="#fnref-6" title="Jump back to footnote 7 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="Personal"></category><category term="Travels"></category><category term="Korea"></category></entry><entry><title>Going Abroad as a Research Student</title><link href="https://steviepoppe.net/blog/2017/09/going-abroad-as-a-research-student/" rel="alternate"></link><published>2017-09-19T00:00:00+02:00</published><updated>2017-09-19T00:00:00+02:00</updated><author><name>Stevie Poppe</name></author><id>tag:steviepoppe.net,2017-09-19:/blog/2017/09/going-abroad-as-a-research-student/</id><summary type="html">

&lt;p&gt;It’s been a while since I’ve posted my last blog, and while I’ve had some ideas on new posts, I had to prioritize schoolwork, including finishing my graduation thesis and preparing my cultural exchange. Courtesy of my university I received the opportunity to study and live in Tokyo for a year and half at Chuo University with MEXT scholarship, as part of my Master degree in Japanese Studies. I’m writing this small blog post exactly a week after arriving in Tokyo, in order to talk a bit about my university, my first impressions of my surroundings, and my personal experience with the application process for my scholarship.&lt;/p&gt;

&lt;h1 id="chuo-universty"&gt;&lt;a class="toclink" href="#chuo-universty"&gt;Chuo Universty&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Chuo University (中央大学) is a private-run university with several campuses spread throughout Tokyo, and containing a plethora of faculties, graduate schools and researchers. It’s mostly known for its legal studies, dating back to the 19&lt;sup&gt;th&lt;/sup&gt; century, and has many well known alumni ranging from economics and politics (including former Prime Minister Toshiki Kaifu) to arts and letters (including popular director Makoto Shinkai of &lt;em&gt;Kimi no Na wa&lt;/em&gt; 君の名は。 fame).&lt;/p&gt;
&lt;p&gt;I’m studying at the largest campus, Tama Campus, which is located in Hachioji: a city in the western portion of Tokyo, and about an hour by public transport to more central parts of Tokyo such as Shinjuku. As a research student I have some liberty in the classes I can take up; they’re either thematically similar to master classes of Japanese Studies at Leuven, or support the global understanding necessary to write my master thesis. Thus I’ll mostly be taking classes from the Graduate School of Letters (specifically the Socio-Informatics course) and Graduate School of Policy Studies, as well as an introduction to Japanese Law from the Graduate School of Law. If time permits, I hope to continue my Korean studies as well.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/36534953573/in/album-72157686137772481/" title="Tama Campus"&gt;&lt;img alt="Tama Campus" src="https://farm5.staticflickr.com/4348/36534953573_df9869ea32_k.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;I was pretty overwhelmed by the size of the campus. It has eleven main buildings, along with a variety of student facilities for after-school activities such as clubs (クラブ) and circles (サークル), sport rooms, several restaurants, etc. I haven’t gotten the hang of it yet and I’m sure I’ll get lost &lt;em&gt;a lot&lt;/em&gt; over the next year and a half. I’m pleased to see these amount of facilities available however, and I really look forward …&lt;/p&gt;</summary><content type="html">

&lt;p&gt;It’s been a while since I’ve posted my last blog, and while I’ve had some ideas on new posts, I had to prioritize schoolwork, including finishing my graduation thesis and preparing my cultural exchange. Courtesy of my university I received the opportunity to study and live in Tokyo for a year and half at Chuo University with MEXT scholarship, as part of my Master degree in Japanese Studies. I’m writing this small blog post exactly a week after arriving in Tokyo, in order to talk a bit about my university, my first impressions of my surroundings, and my personal experience with the application process for my scholarship.&lt;/p&gt;

&lt;h1 id="chuo-universty"&gt;&lt;a class="toclink" href="#chuo-universty"&gt;Chuo Universty&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Chuo University (中央大学) is a private-run university with several campuses spread throughout Tokyo, and containing a plethora of faculties, graduate schools and researchers. It’s mostly known for its legal studies, dating back to the 19&lt;sup&gt;th&lt;/sup&gt; century, and has many well known alumni ranging from economics and politics (including former Prime Minister Toshiki Kaifu) to arts and letters (including popular director Makoto Shinkai of &lt;em&gt;Kimi no Na wa&lt;/em&gt; 君の名は。 fame).&lt;/p&gt;
&lt;p&gt;I’m studying at the largest campus, Tama Campus, which is located in Hachioji: a city in the western portion of Tokyo, and about an hour by public transport to more central parts of Tokyo such as Shinjuku. As a research student I have some liberty in the classes I can take up; they’re either thematically similar to master classes of Japanese Studies at Leuven, or support the global understanding necessary to write my master thesis. Thus I’ll mostly be taking classes from the Graduate School of Letters (specifically the Socio-Informatics course) and Graduate School of Policy Studies, as well as an introduction to Japanese Law from the Graduate School of Law. If time permits, I hope to continue my Korean studies as well.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/36534953573/in/album-72157686137772481/" title="Tama Campus"&gt;&lt;img alt="Tama Campus" src="https://farm5.staticflickr.com/4348/36534953573_df9869ea32_k.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;I was pretty overwhelmed by the size of the campus. It has eleven main buildings, along with a variety of student facilities for after-school activities such as clubs (クラブ) and circles (サークル), sport rooms, several restaurants, etc. I haven’t gotten the hang of it yet and I’m sure I’ll get lost &lt;em&gt;a lot&lt;/em&gt; over the next year and a half. I’m pleased to see these amount of facilities available however, and I really look forward to the start of this school semester (21th of September). Although it is fairly remote (田舎), it’s definitely a beautiful, lush location, with a backdrop of mountains and forests. Finally, the food at our main school restaurant and nearby surroundings is quite diverse, tasty and incredibly cheap (approx. 300 yen or 2.5€ for a large plate of カレーライス Japanese curry? &lt;em&gt;Count me in!&lt;/em&gt;).&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/37347700165/in/album-72157686137772481/" title="Cold Ramen"&gt;&lt;img alt="Cold Ramen" src="https://farm5.staticflickr.com/4333/37347700165_b13f4ea363_k.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h1 id="mext"&gt;&lt;a class="toclink" href="#mext"&gt;Mext&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;I was lucky enough to receive a MEXT (also known as Monbusho) Research Scholarship, offered by the Japanese Ministry of Education, Culture, Sports, Science and Technology, which will cover most of my major expenses in Japan. I applied for the scholarship through university recommendation, after a new collaboration between KU Leuven and Chuo University had been made. It was a rather last minute opportunity, and I had to write my research proposal and fill out the MEXT application in a matter of days; something usually requiring weeks to months of preparing. Luckily, I had already started to prepare my research for my undergraduate thesis, and with some supports from my professors had a good idea on how to extent the scope.&lt;/p&gt;
&lt;p&gt;In my application, I had to select two professors at Chuo University whose bodies of work most strongly fit how I envisioned my research. After one of them agreed to support me, we held a brief interview before I could be officially accepted. This took place about two months after my initial application, and it took another five months until I received positive news from the Japanese Ministry of Education. Finally, my status as MEXT-supported scholar is that of Research Student, rather than Japanese Studies student or Undergraduate university student, as was often the case before exchange projects at KU Leuven became part of the Master’s Degree. This status gives research students the opportunity to extend the scholarship after entering a local Graduate Degree Program or even further as PhD student.&lt;/p&gt;
&lt;p&gt;There are several extensive blog posts on writing your research proposal and filling out the application. If anyone stumbled upon this blog is interested in further details on the process, feel free to leave a comment. But for now I recommend these blogs:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://www.transenzjapan.com/blog/embassy-recommended-mext-scholarship-2018/"&gt;Embassy-Recommended MEXT Scholarship 2018: How to Get Started&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://unknowngenius.com/blog/archives/2013/03/18/going-to-graduate-school-in-japan-on-a-monbusho-scholarship/"&gt;Going to Graduate School in Japan on a Monbushō Scholarship&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://larsmartinson.com/how-i-got-the-monbusho-research-scholarship-part-1-of-4/"&gt;How I got the Monbusho Research Scholarship (Part 1 of 4)&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id="logistics"&gt;&lt;a class="toclink" href="#logistics"&gt;Logistics&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;After an excruciating seven months of waiting, I got my confirmation and realized I’d actually be living in Japan for at least 1.5 years. As a MEXT-recipient, I discovered a great deal of work was done for me, and my application at the Japanese embassy for a student visa was accepted almost immediately, without the usual checks for solvability. Finally, matters of lodging and booking flights were swiftly dealt with by the government and university as well.&lt;/p&gt;
&lt;p&gt;My flight included two pieces of baggage as well as the usual on-board bag, so I packed about 50KG worth of clothes, cooking materials, electronics, &lt;em&gt;omiyage&lt;/em&gt;, … I imagine I’ll need in my time here. Others before me have written extensively on preparing for long exchange periods, including one of my &lt;em&gt;senpai&lt;/em&gt; at my university. I’ll link them below as well.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://www.rakbo.com/ultimate-packing-list-for-japan/"&gt;The Ultimate Packing List For Japan&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://thestudyabroadblog.com/study-abroad-packing-list-2-2/"&gt;2 Suitcases + 1 Year = Study Abroad Packing List&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Financially, it’s definitely recommended to make a local bank account. Transferring money from one’s home country to Japan will be much cheaper in the long run; especially since the scholarship’s monthly stipends are deposited on a local Japan Post Office account. Similarly, I’ll also be getting a local SIM card. &lt;a href="https://tokyocheapo.com/business/internet/japan-sim-card-options-data-voice/"&gt;The internet&lt;/a&gt; taught me that data-only SIM cards for accessing 4G are fairly cheap, around 1000 - 1500 yen (approx. 9€ - 14€) on a monthly base, so this looks like the best option right now.&lt;/p&gt;
&lt;h1 id="lodging"&gt;&lt;a class="toclink" href="#lodging"&gt;Lodging&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;I’m staying at an apartment block privately owned and refurbished by Chuo University in collaboration with other nearby universities. It is pretty small, but definitely sufficient as a student, and luxuries include my own small bathroom and kitchen area, as well as a washing machine. I’ve been using a 100-yen store to liven it up a bit (still needs some work, definitely need a microwave-oven, water cooker and rice cooker in due time).&lt;/p&gt;
&lt;p&gt;Location wise, it’s not too shabby. It takes about 25 minutes by foot to reach my campus, and similarly it’s about 20 minutes to a central part of town called Tama Center; a very pleasant shopping district right next to an apparently famous &lt;a href="https://en.wikipedia.org/wiki/Sanrio_Puroland"&gt;Hello Kitty themed attraction park&lt;/a&gt;. There’s supposedly held a lot of concerts and events held here, and in my first week we discovered a local festival with several live performances and an open-air theater piece. As my university is fairly remote, my apartment surroundings feel rather suburb-ish as well; but the green surroundings and lack of commuter passes make up for it, and I’m sure I’ll come to appreciate the quiet here. Reaching Shibuya however would take me approximately an hour, and set me back about 500 yen (approx. 4€) for a single trip.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/37204353881/in/album-72157686137772481/" title="Local Shrine"&gt;&lt;img alt="Local Shrine" src="https://farm5.staticflickr.com/4439/37204353881_2369add942_k.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;a class="center border" href="https://www.flickr.com/photos/147061735@N04/36534964383/in/album-72157686137772481/" title="Hachioji Suburbs"&gt;&lt;img alt="Hachioji Suburbs" src="https://farm5.staticflickr.com/4416/36534964383_b67d58df65_k.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;As it’s still vacation at the time of writing this, I haven’t met too many people yet; but through the various ordeals newly-arrived exchange students had to deal with (such as registering at the municipal office, sessions on emergencies and safety, …), I’ve already had a pleasant time so far. Also while heading for Shibuya this weekend to meet up with schoolmates here on holiday, I had to ask someone the road after getting lost, and randomly received a matcha bagel. &lt;em&gt;It’s the little things that count~&lt;/em&gt;&lt;/p&gt;
&lt;h1 id="gallery"&gt;&lt;a class="toclink" href="#gallery"&gt;Gallery &lt;i class="icon-camera-retro small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;These are only a couple of pictures I’ve taken so far, it’ll grow over time as I write more posts on my exchange period.&lt;/p&gt;
&lt;style&gt;.embed-container { position: relative; padding-bottom: 56.25%; padding-top: 30px; height: 0; overflow: hidden; max-width: 100%; height: auto; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }&lt;/style&gt;
&lt;div class="embed-container"&gt;&lt;iframe allowfullscreen="" frameborder="0" mozallowfullscreen="" msallowfullscreen="" oallowfullscreen="" src="https://www.flickr.com/photos/147061735@N04/sets/72157686137772481/player" webkitallowfullscreen=""&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;div class="footnote"&gt;
&lt;hr/&gt;
&lt;ol&gt;
&lt;li id="fn-footnote"&gt;
&lt;p&gt;Hachioji Suburbs by Stevie Poppe (&lt;a href="https://flic.kr/p/XEtf42"&gt;https://flic.kr/p/XEtf42&lt;/a&gt; - CC BY-SA 2.0) &lt;a class="footnote-backref" href="#fnref-footnote" title="Jump back to footnote 1 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="Personal"></category><category term="Japanese"></category><category term="Japan"></category><category term="Blog"></category><category term="Chuo"></category></entry><entry><title>Travels: One Week of Andalusia</title><link href="https://steviepoppe.net/blog/2017/07/travels-one-week-of-andalusia/" rel="alternate"></link><published>2017-07-06T00:00:00+02:00</published><updated>2017-07-06T00:00:00+02:00</updated><author><name>Stevie Poppe</name></author><id>tag:steviepoppe.net,2017-07-06:/blog/2017/07/travels-one-week-of-andalusia/</id><summary type="html">
&lt;p&gt;Having finished the final exams for my undergraduate degree in Japan Studies, we decided to spend some time off by visiting a close friend doing an internship in Seville, Spain. We used our time there to get a glimpse of beautiful Andalusia and were not disappointed by the stunning beauty of its architecture and nature, its fascinating history and, importantly, its wonderful culinary traditions.&lt;/p&gt;
&lt;h1 id="brief-history"&gt;&lt;a class="toclink" href="#brief-history"&gt;Brief history &lt;i class="icon-history small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Andalusia, an autonomous region at the most southward point of Spain, has had due to it’s geographical location - a gateway between Europe and Africa - strong ties with various cultures such as the Phoenicians, Greeks, Romans, Byzantines, Jews and the Muslim Moors. These cultural influences have, of course, left a strong mark on the development of Andalusia, both in its national identity and through cultural markers such as architecture, music, dance, and cuisine.&lt;/p&gt;
&lt;h1 id="itinerary"&gt;&lt;a class="toclink" href="#itinerary"&gt;Itinerary &lt;i class="icon-plane small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Our friend let us stay in her apartment in Nervion, the shopping district of Seville, approximately 20 minutes by foot from the historical center. Taking her apartment as starting point, we arranged most of our activities around Seville and nearby regions. It was quite a pleasant surprise to be located only a short walk from one of the more appraised &lt;em&gt;tapa&lt;/em&gt;&lt;sup&gt;&lt;/sup&gt; restaurants in Sevilla.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/35374810940/in/album-72157683544111201/" title="Tapas"&gt;&lt;img alt="Tapas" src="https://farm5.staticflickr.com/4256/35374810940_814fd8d149_b.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;We spent most of our time in Seville, but used a local carpooling service for two day-trips, to Granada and Ronda.&lt;/p&gt;
&lt;h2 id="seville"&gt;&lt;a class="toclink" href="#seville"&gt;Seville&lt;/a&gt;&lt;/h2&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/35630910381/in/album-72157683544111201/" title="Sevilla Street"&gt;&lt;img alt="Sevilla Street" src="https://farm5.staticflickr.com/4125/35630910381_0fdf11d88c_b.jpg" style="height:500px;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Seville, the capital of Andalusia and Spain’s 4&lt;sup&gt;th&lt;/sup&gt; largest city, flourished in trade during the middle ages and thus has a well-developed and maintained city center. Amongst our highlights there was the 15&lt;sup&gt;th&lt;/sup&gt; century &lt;strong&gt;Cathedral of Seville&lt;/strong&gt;, the third largest church in the world, built over a late twelfth century mosque. It contains the remains of the historical controversial figure Christopher Columbus. The area around the cathedral (commonly known as the &lt;strong&gt;Jewish Quarter&lt;/strong&gt;) is considered the historical center of Seville and is a delight to stroll through with it’s small cobblestone streets and variety of boutiques and restaurants. Our friend introduced us to a small but crowded bar with late-night flamenco performances, a sure marker of the vibrant nightlife in Seville.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/35593087592/in/album-72157683544111201/" title="Seville Cathedral"&gt;&lt;img alt="Seville Cathedral" src="https://farm5.staticflickr.com/4097/35593087592_87eceffb24_b.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;To us, the most impressive site was &lt;strong&gt;Réal Alcázar&lt;/strong&gt;, UNESCO World Heritage Site and palace built in Moorish architectural style across the 10&lt;sup&gt;th&lt;/sup&gt; to 14&lt;sup&gt;th&lt;/sup&gt; century. It has recently gained new fame as setting of Dorne in the hit-series Game of Thrones. During our trip, we …&lt;/p&gt;</summary><content type="html">

&lt;p&gt;Having finished the final exams for my undergraduate degree in Japan Studies, we decided to spend some time off by visiting a close friend doing an internship in Seville, Spain. We used our time there to get a glimpse of beautiful Andalusia and were not disappointed by the stunning beauty of its architecture and nature, its fascinating history and, importantly, its wonderful culinary traditions.&lt;/p&gt;

&lt;h1 id="brief-history"&gt;&lt;a class="toclink" href="#brief-history"&gt;Brief history &lt;i class="icon-history small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Andalusia, an autonomous region at the most southward point of Spain, has had due to it’s geographical location - a gateway between Europe and Africa - strong ties with various cultures such as the Phoenicians, Greeks, Romans, Byzantines, Jews and the Muslim Moors. These cultural influences have, of course, left a strong mark on the development of Andalusia, both in its national identity and through cultural markers such as architecture, music, dance, and cuisine.&lt;/p&gt;
&lt;h1 id="itinerary"&gt;&lt;a class="toclink" href="#itinerary"&gt;Itinerary &lt;i class="icon-plane small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Our friend let us stay in her apartment in Nervion, the shopping district of Seville, approximately 20 minutes by foot from the historical center. Taking her apartment as starting point, we arranged most of our activities around Seville and nearby regions. It was quite a pleasant surprise to be located only a short walk from one of the more appraised &lt;em&gt;tapa&lt;/em&gt;&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-1" id="fnref-1" rel="footnote"&gt;2&lt;/a&gt;&lt;/sup&gt; restaurants in Sevilla.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/35374810940/in/album-72157683544111201/" title="Tapas"&gt;&lt;img alt="Tapas" src="https://farm5.staticflickr.com/4256/35374810940_814fd8d149_b.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;We spent most of our time in Seville, but used a local carpooling service for two day-trips, to Granada and Ronda.&lt;/p&gt;
&lt;h2 id="seville"&gt;&lt;a class="toclink" href="#seville"&gt;Seville&lt;/a&gt;&lt;/h2&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/35630910381/in/album-72157683544111201/" title="Sevilla Street"&gt;&lt;img alt="Sevilla Street" src="https://farm5.staticflickr.com/4125/35630910381_0fdf11d88c_b.jpg" style="height:500px;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Seville, the capital of Andalusia and Spain’s 4&lt;sup&gt;th&lt;/sup&gt; largest city, flourished in trade during the middle ages and thus has a well-developed and maintained city center. Amongst our highlights there was the 15&lt;sup&gt;th&lt;/sup&gt; century &lt;strong&gt;Cathedral of Seville&lt;/strong&gt;, the third largest church in the world, built over a late twelfth century mosque. It contains the remains of the historical controversial figure Christopher Columbus. The area around the cathedral (commonly known as the &lt;strong&gt;Jewish Quarter&lt;/strong&gt;) is considered the historical center of Seville and is a delight to stroll through with it’s small cobblestone streets and variety of boutiques and restaurants. Our friend introduced us to a small but crowded bar with late-night flamenco performances, a sure marker of the vibrant nightlife in Seville.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/35593087592/in/album-72157683544111201/" title="Seville Cathedral"&gt;&lt;img alt="Seville Cathedral" src="https://farm5.staticflickr.com/4097/35593087592_87eceffb24_b.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;To us, the most impressive site was &lt;strong&gt;Réal Alcázar&lt;/strong&gt;, UNESCO World Heritage Site and palace built in Moorish architectural style across the 10&lt;sup&gt;th&lt;/sup&gt; to 14&lt;sup&gt;th&lt;/sup&gt; century. It has recently gained new fame as setting of Dorne in the hit-series Game of Thrones. During our trip, we found out that a small festival of late-night concerts were held in the garden of Alcázar and promptly booked tickets. Despite spending over an hour looking for the correct entrance to the event, we were able to join one of the concerts: a performance of baroque pieces for cello, violin and organ.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/34921528454/in/album-72157683544111201/" title="Real Alcazar"&gt;&lt;img alt="Real Alcazar" src="https://farm5.staticflickr.com/4111/34921528454_2a8e0bc08b_b.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;a class="center border" href="https://www.flickr.com/photos/147061735@N04/34921528454/in/album-72157683544111201/" title="Alcazar"&gt;&lt;img alt="Alcazar" src="https://farm5.staticflickr.com/4044/35762763805_0984b9d65b_b.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Finally, we visited the &lt;strong&gt;Plaza de España&lt;/strong&gt;, a plaza containing mainly government buildings designed in a variety of architectural styles, including Art Deco, Moorish and Neo-Renaissance, built over period of 15 years as a means of promoting tourism during the 1929 Expo held in Seville. The plaza has gained renewed touristic interests due to being used as set piece in the Star Wars saga.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/34921528454/in/album-72157683544111201/" title="Scenic View Spanish Plaza"&gt;&lt;img alt="Scenic View Spanish Plaza" src="https://farm5.staticflickr.com/4283/35630908041_2a737eec26_b.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;a class="center border" href="https://www.flickr.com/photos/147061735@N04/34921528454/in/album-72157683544111201/" title="Bridge Spanish Plaza"&gt;&lt;img alt="Bridge Spanish Plaza" src="https://farm5.staticflickr.com/4055/35593086062_8dde6ecb99_b.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;During our trip, we met up with several local people that our friend had befriended during her stay as intern in this city. Unfortunately neither of us spoke Spanish very well, but it was still a pleasant way of learning more of Seville life and some of it’s hardships, including low wages, high unemployment, and an unbalanced ratio of man and women.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/35630910381/in/album-72157683544111201/" title="Spanish Street"&gt;&lt;img alt="Spanish Street" src="https://farm5.staticflickr.com/4067/35374884930_3cf98c74f7_b.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h2 id="granada"&gt;&lt;a class="toclink" href="#granada"&gt;Granada&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;We spent a day in &lt;strong&gt;Granada&lt;/strong&gt;, commuting by car using a local carpooling service. We planned on visiting &lt;strong&gt;Alhambra&lt;/strong&gt;, the Moorish famous palace and fortress complex ended up as Royal Court after the Christian Reconquista. Unfortunately due to an error, our reservation for Alhambra did not go through, but we were however still able to visit the gardens and outer areas of Alhambra, a beauty on itself.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/35630910381/in/album-72157683544111201/" title="Alhambra"&gt;&lt;img alt="Alhambra" src="https://farm5.staticflickr.com/4278/35630954991_b80e0d0738_b.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Afterwards we spent the evening strolling through town and watching the sun set on Alhambra from a square on a hill. It was a pleasant experience to, after a year of learning the language, speak a few words of Korean with a Korean tourist standing next to us.&lt;/p&gt;
&lt;h2 id="ronda"&gt;&lt;a class="toclink" href="#ronda"&gt;Ronda&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Using the aforementioned carpooling service we spent a short day in &lt;strong&gt;Ronda&lt;/strong&gt;, a small city in the province of &lt;strong&gt;Málaga&lt;/strong&gt;, situated on a canyon. We spent part of the day hiking down the canyon until we had a beautiful view on the city and it’s bridge spanning the canyon.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/34921528454/in/album-72157683544111201/" title="Ronda City View"&gt;&lt;img alt="Ronda City View" src="https://farm5.staticflickr.com/4286/34952766793_1e8e33bcec_b.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;a class="center border" href="https://www.flickr.com/photos/147061735@N04/34921528454/in/album-72157683544111201/" title="Ronda Bridge"&gt;&lt;img alt="Ronda Bridge" src="https://farm5.staticflickr.com/4287/34952768553_77c2b3da39_b.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h1 id="music"&gt;&lt;a class="toclink" href="#music"&gt;Music &lt;i class="icon-music small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;When traveling, I make it a habit of finding new music by listening to local radio stations or asking recommendations to people I meet in hostels or bars - It’s my own personal souvenir and sticks better in my mind than regular touristic souvenirs.&lt;/p&gt;
&lt;p&gt;During our trip we frequently passed street musicians, most of all guitarists performing pieces in Spanish Flamenco style. My father (and as it turns out, my partner’s mother too) often played these pieces (having lived in Andalusia himself) during my childhood. Hearing these compositions once again after many years, a sense of nostalgia fell over me, and thus it felt appropriate to pick the following two compositions, &lt;strong&gt;Recuerdos de la Alhambra - &lt;a href="https://en.wikipedia.org/wiki/Francisco_T%C3%A1rrega"&gt;Francisco Tárrega&lt;/a&gt;&lt;/strong&gt; and &lt;strong&gt;Asturias - &lt;a href="https://en.wikipedia.org/wiki/Isaac_Alb%C3%A9niz"&gt;Isaac Albéniz&lt;/a&gt;&lt;/strong&gt;. In my limited opinion, the following renditions have captured the precision of these pieces’ tremolo techniques perfectly.&lt;/p&gt;
&lt;p&gt;&lt;span class="videobox"&gt;
&lt;iframe allowfullscreen="" frameborder="0" height="390" mozallowfullscreen="" src="https://www.youtube.com/embed/fSzV90Lqv_A" webkitallowfullscreen="" width="640"&gt;
&lt;/iframe&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="videobox"&gt;
&lt;iframe allowfullscreen="" frameborder="0" height="390" mozallowfullscreen="" src="https://www.youtube.com/embed/oEfFbuT3I6A" webkitallowfullscreen="" width="640"&gt;
&lt;/iframe&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;h1 id="conclusion"&gt;&lt;a class="toclink" href="#conclusion"&gt;Conclusion &lt;i class="icon-smile small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;We had some misfortune during this trip, including the errors in the booking of Alhambra. The period of our journey also knew a strong heatwave that significantly worsened traveling conditions by day. Yet, the charm and beauty of the Andalusian cities we visited were undeniable. The architecture, the lovely small streets and the lush nature sure were lovely to gaze at while strolling around. But most of all, we were able to get some much-needed rest and splurged a bit on excellent food and wine - definitely a highlight of this trip.&lt;/p&gt;
&lt;h1 id="gallery"&gt;&lt;a class="toclink" href="#gallery"&gt;Gallery &lt;i class="icon-camera-retro small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;style&gt;.embed-container { position: relative; padding-bottom: 56.25%; padding-top: 30px; height: 0; overflow: hidden; max-width: 100%; height: auto; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }&lt;/style&gt;
&lt;div class="embed-container"&gt;&lt;iframe allowfullscreen="" frameborder="0" mozallowfullscreen="" msallowfullscreen="" oallowfullscreen="" src="https://www.flickr.com/photos/147061735@N04/sets/72157683544111201/player" webkitallowfullscreen=""&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;div class="footnote"&gt;
&lt;hr/&gt;
&lt;ol&gt;
&lt;li id="fn-footnote"&gt;
&lt;p&gt;Alhambra by Stevie Poppe (&lt;a href="https://flic.kr/p/WhzXyc"&gt;https://flic.kr/p/WhzXyc&lt;/a&gt; - CC BY-SA 2.0) &lt;a class="footnote-backref" href="#fnref-footnote" title="Jump back to footnote 1 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-1"&gt;
&lt;p&gt;An appetizer or snack, although nowadays small complicated dishes combinable to a full meal. The origin of “tapa” is often explained as meaning “cover”; supposedly small plates of snacks were used to cover drinks from fruit flies. &lt;a class="footnote-backref" href="#fnref-1" title="Jump back to footnote 2 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="Personal"></category><category term="Travels"></category><category term="Spain"></category><category term="Andalusia"></category><category term="Granada"></category><category term="Cordoba"></category><category term="Sevilla"></category></entry><entry><title>New Song: IROHA 【いろは歌】</title><link href="https://steviepoppe.net/blog/2017/03/new-song-iroha-uta/" rel="alternate"></link><published>2017-03-12T00:00:00+01:00</published><updated>2017-03-12T00:00:00+01:00</updated><author><name>Stevie Poppe</name></author><id>tag:steviepoppe.net,2017-03-12:/blog/2017/03/new-song-iroha-uta/</id><summary type="html">
&lt;p&gt;During a course on classical Japanese (&lt;em&gt;kobun&lt;/em&gt; &lt;span lang="ja"&gt;古文&lt;/span&gt;) last semester, we were introduced to a particularly well-known Heian-era poem titled &lt;strong&gt;Iroha&lt;/strong&gt; – famous for using all characters of the Japanese syllabary exactly once&lt;sup&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;Attributed to &lt;em&gt;Kūkai&lt;/em&gt; (founder of the Japanese Esoteric sect of Buddhism), the layered meaning of the poem (and the fact we had to be able to recite it for my exam) struck a chord with me. I wrote a short melody to help me memorize it properly and, after my exam period, spent some time getting acquainted with electronic music composition in order to further expand upon that melody.&lt;/p&gt;
&lt;h1 id="_1"&gt;&lt;a class="toclink" href="#_1"&gt;&lt;span lang="ja"&gt;いろは歌&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;&lt;span class="videobox"&gt;
&lt;iframe allowfullscreen="" frameborder="0" height="390" mozallowfullscreen="" src="https://www.youtube.com/embed/xh7Nx-8-RZg" webkitallowfullscreen="" width="640"&gt;
&lt;/iframe&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;I begin most of my compositions by playing the piano. I tried to create an otherwordly, esoteric vibe through constant shifts in modulation and relying on ninths and dissonance in the melody. Once I had my base backing track done, I spread the different lines across piano, pan drum and some ambient pads, wrote a sparse drum-track using chimes, woodblocks and taiko and practically drowned the whole in reverb.&lt;/p&gt;
&lt;p&gt;The vocalist’s thin, airy voice works especially well for the kind of setting I hoped to express. The second half in particular used heavily distorted samples of her voice in an attempt to &lt;em&gt;derail&lt;/em&gt; and build up tension in similar fashion (hopefully) to the original poem. It also allowed me to become better acquainted with filters and techniques commonly used in electronic music.&lt;/p&gt;
&lt;p&gt;Several authors debated a hidden message in the original Man’yō-gana version of the text, by putting together the last syllable of each line, which could be read as &lt;em&gt;toka [toga] nakute shisu&lt;/em&gt; (&lt;span lang="ja"&gt;咎無くて死す&lt;/span&gt;, ‘die without sin’). I tried to incorporate this in the song as some form of hidden message, using distorted whispers.&lt;/p&gt;
&lt;p&gt;&lt;img alt="[background]" class="fcenter" src="https://steviepoppe.net/images/music/full_bg_smaller.jpg" title="[background]"/&gt;&lt;/p&gt;
&lt;p&gt;For the YouTube video I created a wallpaper using a photograph I once took at the grave of Tokugawa Ieyasu in Nikko. At the time of the picture, a typhoon rapidly approached our region and due to heavy rainfall, we were practically alone. Nonetheless, the storm’s influence on the ancient cryptomeria forest and the bronze urn of Tokugawa Ieyasu left for a breathtaking and very humbling sight.&lt;/p&gt;
&lt;p&gt;I did a bit of editing and used several free Japanese calligraphy fonts to display the contents of the poem. I found the english translation, by Esoteric Buddhist specialist Prof. Dr. Ryūichi Abe …&lt;/p&gt;</summary><content type="html">

&lt;p&gt;During a course on classical Japanese (&lt;em&gt;kobun&lt;/em&gt; &lt;span lang="ja"&gt;古文&lt;/span&gt;) last semester, we were introduced to a particularly well-known Heian-era poem titled &lt;strong&gt;Iroha&lt;/strong&gt; – famous for using all characters of the Japanese syllabary exactly once&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-1" id="fnref-1" rel="footnote"&gt;2&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;Attributed to &lt;em&gt;Kūkai&lt;/em&gt; (founder of the Japanese Esoteric sect of Buddhism), the layered meaning of the poem (and the fact we had to be able to recite it for my exam) struck a chord with me. I wrote a short melody to help me memorize it properly and, after my exam period, spent some time getting acquainted with electronic music composition in order to further expand upon that melody.&lt;/p&gt;

&lt;h1 id="_1"&gt;&lt;a class="toclink" href="#_1"&gt;&lt;span lang="ja"&gt;いろは歌&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;&lt;span class="videobox"&gt;
&lt;iframe allowfullscreen="" frameborder="0" height="390" mozallowfullscreen="" src="https://www.youtube.com/embed/xh7Nx-8-RZg" webkitallowfullscreen="" width="640"&gt;
&lt;/iframe&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;I begin most of my compositions by playing the piano. I tried to create an otherwordly, esoteric vibe through constant shifts in modulation and relying on ninths and dissonance in the melody. Once I had my base backing track done, I spread the different lines across piano, pan drum and some ambient pads, wrote a sparse drum-track using chimes, woodblocks and taiko and practically drowned the whole in reverb.&lt;/p&gt;
&lt;p&gt;The vocalist’s thin, airy voice works especially well for the kind of setting I hoped to express. The second half in particular used heavily distorted samples of her voice in an attempt to &lt;em&gt;derail&lt;/em&gt; and build up tension in similar fashion (hopefully) to the original poem. It also allowed me to become better acquainted with filters and techniques commonly used in electronic music.&lt;/p&gt;
&lt;p&gt;Several authors debated a hidden message in the original Man’yō-gana version of the text, by putting together the last syllable of each line, which could be read as &lt;em&gt;toka [toga] nakute shisu&lt;/em&gt; (&lt;span lang="ja"&gt;咎無くて死す&lt;/span&gt;, ‘die without sin’). I tried to incorporate this in the song as some form of hidden message, using distorted whispers.&lt;/p&gt;
&lt;p&gt;&lt;img alt="[background]" class="fcenter" src="https://steviepoppe.net/images/music/full_bg_smaller.jpg" title="[background]"/&gt;&lt;/p&gt;
&lt;p&gt;For the YouTube video I created a wallpaper using a photograph I once took at the grave of Tokugawa Ieyasu in Nikko. At the time of the picture, a typhoon rapidly approached our region and due to heavy rainfall, we were practically alone. Nonetheless, the storm’s influence on the ancient cryptomeria forest and the bronze urn of Tokugawa Ieyasu left for a breathtaking and very humbling sight.&lt;/p&gt;
&lt;p&gt;I did a bit of editing and used several free Japanese calligraphy fonts to display the contents of the poem. I found the english translation, by Esoteric Buddhist specialist Prof. Dr. Ryūichi Abe, to be particularly poetic and fitting for the kind of atmosphere I tried to create.&lt;/p&gt;
&lt;hr/&gt;
&lt;p&gt;That’s it for now! I’m in the process of rearranging and mixing several compositions in my spare time so I’ll be sure to post here when I have something new tangible. I’m still really new to composing music digitally, so all feedback is welcome!&lt;/p&gt;
&lt;h1 id="further-reading"&gt;&lt;a class="toclink" href="#further-reading"&gt;Further reading&lt;/a&gt;&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://thejapanesepage.com/iroha"&gt;The Japanese Page: Iroha&lt;/a&gt;: aside from providing further insight in the history of the poem, the writer made an interesting in-depth analysis of each phrase of the poem, definitely worth reading!&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="footnote"&gt;
&lt;hr/&gt;
&lt;ol&gt;
&lt;li id="fn-footnote"&gt;
&lt;p&gt;Nikko Shrine by Stevie Poppe, edited (&lt;a href="https://flic.kr/p/LeKi4r"&gt;https://flic.kr/p/LeKi4r&lt;/a&gt; - CC BY-SA 2.0) &lt;a class="footnote-backref" href="#fnref-footnote" title="Jump back to footnote 1 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-1"&gt;
&lt;p&gt;Iroha uses 47 kana, without any form of voicing (&lt;em&gt;dakuten&lt;/em&gt; 濁点), of which two characters (ゐ and ゑ) are now considered archaic and obsolete. The best known example of such a pangram in English would be “The quick brown fox jumps over the lazy dog.” &lt;a class="footnote-backref" href="#fnref-1" title="Jump back to footnote 2 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="Personal"></category><category term="Music"></category><category term="Composing"></category></entry><entry><title>織田信長とアルベール一世：我々の国民の共有している歴史</title><link href="https://steviepoppe.net/blog/2016/12/oda-nobunaga-to-aruberu-issei/" rel="alternate"></link><published>2016-12-01T00:00:00+01:00</published><updated>2016-12-01T00:00:00+01:00</updated><author><name>Stevie Poppe</name></author><id>tag:steviepoppe.net,2016-12-01:/blog/2016/12/oda-nobunaga-to-aruberu-issei/</id><summary type="html">

&lt;p&gt;私は先週、ブリュッセルで行われた日本語のスピーチコンテストに参加して、「ベルギー・日本友好１５０周年」のために歴史的なスピーチを発表する機会をいただきました。すると、参加者の他者が非常に高いレベルにあったし、質疑応答もやや恥ずかしくなっても、何とか第三位に入賞しました。このブログのエントリーは私が書いたスピーチの原稿です。&lt;/p&gt;

&lt;h1 id="_1"&gt;&lt;a class="toclink" href="#_1"&gt;スピーチ&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;会場にお集まりの皆様、こんにちは！ルーバン大学日本学科3年生のスティービーと申します。私は子供の頃から日本の文化と歴史に大変興味がありました。そして日本学科に入学して2年間勉強をすることで自分の知識をもっと広め、深めることができました。更に、来年日本へ留学する可能性があることや、今年が「ベルギー・日本友好150周年」の年であることから、日本の歴史だけでなく、特に独立前のベルギーと日本の400年も前に遡る両国が共有している歴史への関心も高まってきました。そのため、この発表「我々の国民の共有している歴史」では、二つの歴史的逸話を紹介して、ベルギー人と日本人の友好についてお話したいと思います。&lt;/p&gt;
&lt;p&gt;この共有されている歴史、すなわち、両国間の共感は、私たちの国の歴史的展開がほぼ同じように進んだからだと考えます。ベ …&lt;/p&gt;</summary><content type="html">

&lt;p&gt;私は先週、ブリュッセルで行われた日本語のスピーチコンテストに参加して、「ベルギー・日本友好１５０周年」のために歴史的なスピーチを発表する機会をいただきました。すると、参加者の他者が非常に高いレベルにあったし、質疑応答もやや恥ずかしくなっても、何とか第三位に入賞しました。このブログのエントリーは私が書いたスピーチの原稿です。&lt;/p&gt;

&lt;h1 id="_1"&gt;&lt;a class="toclink" href="#_1"&gt;スピーチ&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;会場にお集まりの皆様、こんにちは！ルーバン大学日本学科3年生のスティービーと申します。私は子供の頃から日本の文化と歴史に大変興味がありました。そして日本学科に入学して2年間勉強をすることで自分の知識をもっと広め、深めることができました。更に、来年日本へ留学する可能性があることや、今年が「ベルギー・日本友好150周年」の年であることから、日本の歴史だけでなく、特に独立前のベルギーと日本の400年も前に遡る両国が共有している歴史への関心も高まってきました。そのため、この発表「我々の国民の共有している歴史」では、二つの歴史的逸話を紹介して、ベルギー人と日本人の友好についてお話したいと思います。&lt;/p&gt;
&lt;p&gt;この共有されている歴史、すなわち、両国間の共感は、私たちの国の歴史的展開がほぼ同じように進んだからだと考えます。ベルギーも日本も強大な国々が隣接していたにもかかわらず独立することができました。ベルギーがフランスやドイツの大国に挟まれながらも何とか独立したのと同様に、日本も中国やロシア、欧米の中で、独立国として次第に世界で最大の経済大国の一つになりました。そのため、明治時代に岩倉使節団が派遣された際、「日本人と同じような独立の気概を持っているベルギー王国をモデルとしてはどうか」という記事を書いた日本人記者もいました。また、第一次世界大戦中にドイツ帝国の攻撃を受けたベルギーは「意志が強い、勇敢な国である」と日本で報道されました。&lt;/p&gt;
&lt;h2 id="_2"&gt;&lt;a class="toclink" href="#_2"&gt;織田信長とアルベール一世&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;当日のベルギー王アルベール一世がフランスの国境近くにある村から抵抗をし続けていた間、東京と大阪の朝日新聞が協力して、ベルギーを支援するために募金キャンペーンを行いました。更に、ベルギーの国民を励ますために、ベルギーの国王の誕生日に刀を献上する企画も立てました。そのため、朝日新聞記者の杉村廣太郎がベルギーに派遣されました。１９１４年に彼がイギリスを経由した際に、そこで苦しむベルギー避難民を目撃し、戦争の深刻な状況について朝日新聞に報告しました。戦争の影響による難しい旅路を経て、やっとのことでベルギーの亡命政府にたどり着き、国王に謁見する機会を得ました。彼は、朝日新聞の社長が書いた国交の手紙を渡した後、国王に戦国時代の織田信長が用いていたという刀を献上しました。その象徴的な行為がベルギーだけではなく、世界中の報道機関によく受け入れられたのはいうまでもありません。その結果、ベルギーの国民も日本人に対して非常に友好的な印象を持つようになりました。&lt;/p&gt;
&lt;h2 id="_3"&gt;&lt;a class="toclink" href="#_3"&gt;関東大震災&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;１９２３年の関東大震災が起こった時、ベルギー人がためらわず、救援活動を行ったり資金集めをしたりしたのは、この友好的な日本との関係のためだと言えます。王族と、新たに設立されたベルギー国内委員会が協力して大規模な救援活動を実施しました。私の故郷アントワープを含むベルギーの全国各地でも教会と戦争の退役軍人が協力して「Japan Day」という催しを行いました。他にも、ベルギー人の芸術家達が作品を集めたり新作を発表したりして特別な貢献をしました。まずはブリュッセルで、次に日本で作品の展示発売や展覧会を開催し、売り上げや入場料の利益は全て救援活動のために寄付されました。日本の展覧会だけでも3万５千人もの観客が訪れたと報告されていて、その上、日本の皇太子様と皇后様が30点もの芸術品をご購入されたと聞いております。&lt;/p&gt;
&lt;p&gt;もちろん、多くの国が日本への支援に参加しましたが、ベルギーより多くの資金を集めたのは大国のイギリスとアメリカだけでした。それはベルギー人と日本人の相互の友好関係と共感の証しだと思います。私は、日本学科で学ぶベルギー人の学生として、我々の両国がこの豊かな道を共に歩き続けられるように心から願っています。&lt;/p&gt;
&lt;p&gt;以上です。ご清聴ありがとうございました。 &lt;/p&gt;
&lt;h1 id="_4"&gt;&lt;a class="toclink" href="#_4"&gt;参考文献&lt;/a&gt;&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Japan &amp;amp; Belgium: An Itinerary of Mutual Inspiration, ed. W.F. Vande Walle, pp. 187-213. Tielt: Lannoo, 2016.&lt;/li&gt;
&lt;li&gt;Japan &amp;amp; Belgium: Four Centuries of Exchange. Brussels: Commissioners-General of the Belgian Government at the Universal Exposition of Aichi 2005, Japan.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="footnote"&gt;
&lt;hr/&gt;
&lt;ol&gt;
&lt;li id="fn-footnote"&gt;
&lt;p&gt;在ベルギー日本国大使館の「日本・ベルギー友好150周年」の&lt;a href="http://www.be.emb-japan.go.jp/150jb/jp/index.html"&gt;公式ロゴ&lt;/a&gt;. &lt;a class="footnote-backref" href="#fnref-footnote" title="Jump back to footnote 1 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="Studies"></category><category term="Japan"></category><category term="History"></category><category term="Belgium"></category><category term="Speech"></category></entry><entry><title>Oda Nobunaga and King Albert - The shared history of our nations’ people</title><link href="https://steviepoppe.net/blog/2016/11/oda-nobunaga-and-king-albert-the-shared-history-of-our-nations-people/" rel="alternate"></link><published>2016-11-28T00:00:00+01:00</published><updated>2016-11-28T00:00:00+01:00</updated><author><name>Stevie Poppe</name></author><id>tag:steviepoppe.net,2016-11-28:/blog/2016/11/oda-nobunaga-and-king-albert-the-shared-history-of-our-nations-people/</id><summary type="html">

&lt;p&gt;For this year’s Japanese Speech Contest in Brussels, I had the pleasure to prepare and hold a speech in honor of Belgium and Japan’s 150&lt;sup&gt;th&lt;/sup&gt; year of mutual friendship. Despite some hickups and an incredibly high level amongst the other candidates (meeting all these excellent Japanese learners was both an extremely humbling experience as well as a perfect motivation booster for the coming years) I was awarded 3&lt;sup&gt;rd&lt;/sup&gt; prize. This blog contains my speech’s English translation.&lt;/p&gt;

&lt;h1 id="speech"&gt;&lt;a class="toclink" href="#speech"&gt;Speech&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Hello everyone! I’m Stevie, a Belgian student at the university of Leuven and currently third year student in the faculty of Japan Studies. Lately, through my studies and the realization of 150 years of amity between our two nations, I’ve gained an increased interest in our mutual history; a long shared history dating from before Belgium was even officially recognized an independent country. That’s why, through this presentation, I would like to focus on two historical anecdotes in history that show not just a friendship between our countries’ governments, but a friendship between our people as well. &lt;/p&gt;
&lt;p&gt;It is my belief that the empathy shared between our people stems from similar historical developments. &lt;span data-pullquote="Just as Belgium found its independency while cornered between the great nations of France and Germany, Japan rose as an independent world power despite the large Chinese and Russian empires on one side, and the Western industrial powers on the other."&gt;Just as Belgium found its independency while cornered between the great nations of France and Germany, Japan rose as an independent world power despite the large Chinese and Russian empires on one side, and the Western industrial powers on the other.&lt;/span&gt; Thus, during the Meiji Period and the subsequent Iwakura Mission, Belgium was occasionally reported as a potential model nation with its people possessing a high spirit of self-reliance and independence, just as the Japanese people have. &lt;/p&gt;
&lt;h2 id="king-albert-and-oda-nobunaga"&gt;&lt;a class="toclink" href="#king-albert-and-oda-nobunaga"&gt;King Albert and Oda Nobunaga&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Following this logic, during the first world war, Belgium was reported on a daily base in Japanese media as a brave, strong-spirited country that fell victim to the conquering German empire, while Belgian King Albert continued resistance from a small village near the French border. Eventually, the Tokyo and Osaka Asahi Newspaper launched both a campaign to collect funds for Belgium and planned the presentation of a Japanese sword to the Belgian king on the occasion of his birthday and as a means to encourage the brave resistance of the Belgian people. &lt;/p&gt;
&lt;p&gt;Sugimura Kotaro, a journalist of the Asahi Newspaper, was sent to deliver the sword and travelled through Great Britain in late 1914. Here, he witnessed a great number …&lt;/p&gt;</summary><content type="html">

&lt;p&gt;For this year’s Japanese Speech Contest in Brussels, I had the pleasure to prepare and hold a speech in honor of Belgium and Japan’s 150&lt;sup&gt;th&lt;/sup&gt; year of mutual friendship. Despite some hickups and an incredibly high level amongst the other candidates (meeting all these excellent Japanese learners was both an extremely humbling experience as well as a perfect motivation booster for the coming years) I was awarded 3&lt;sup&gt;rd&lt;/sup&gt; prize. This blog contains my speech’s English translation.&lt;/p&gt;

&lt;h1 id="speech"&gt;&lt;a class="toclink" href="#speech"&gt;Speech&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Hello everyone! I’m Stevie, a Belgian student at the university of Leuven and currently third year student in the faculty of Japan Studies. Lately, through my studies and the realization of 150 years of amity between our two nations, I’ve gained an increased interest in our mutual history; a long shared history dating from before Belgium was even officially recognized an independent country. That’s why, through this presentation, I would like to focus on two historical anecdotes in history that show not just a friendship between our countries’ governments, but a friendship between our people as well. &lt;/p&gt;
&lt;p&gt;It is my belief that the empathy shared between our people stems from similar historical developments. &lt;span data-pullquote="Just as Belgium found its independency while cornered between the great nations of France and Germany, Japan rose as an independent world power despite the large Chinese and Russian empires on one side, and the Western industrial powers on the other."&gt;Just as Belgium found its independency while cornered between the great nations of France and Germany, Japan rose as an independent world power despite the large Chinese and Russian empires on one side, and the Western industrial powers on the other.&lt;/span&gt; Thus, during the Meiji Period and the subsequent Iwakura Mission, Belgium was occasionally reported as a potential model nation with its people possessing a high spirit of self-reliance and independence, just as the Japanese people have. &lt;/p&gt;
&lt;h2 id="king-albert-and-oda-nobunaga"&gt;&lt;a class="toclink" href="#king-albert-and-oda-nobunaga"&gt;King Albert and Oda Nobunaga&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Following this logic, during the first world war, Belgium was reported on a daily base in Japanese media as a brave, strong-spirited country that fell victim to the conquering German empire, while Belgian King Albert continued resistance from a small village near the French border. Eventually, the Tokyo and Osaka Asahi Newspaper launched both a campaign to collect funds for Belgium and planned the presentation of a Japanese sword to the Belgian king on the occasion of his birthday and as a means to encourage the brave resistance of the Belgian people. &lt;/p&gt;
&lt;p&gt;Sugimura Kotaro, a journalist of the Asahi Newspaper, was sent to deliver the sword and travelled through Great Britain in late 1914. Here, he witnessed a great number of Belgian refugees and reported of their situation to his home country’s newspaper. After a difficult route he finally managed to reach the Belgian government in Exile and was allowed an opportunity to meet with the king. He presented the king a message of dedication from Asahi Shimbun’s president as well as hand him the Japanese sword, a sword said to have been used by Oda Nobunaga himself; the daimyo known to attempt to unify Japan at the end of the Warring States period. It goes without saying that this symbolic act was very well received in Belgian- and international press, and gave a good impression of the Japanese people in the eyes of Belgians.&lt;/p&gt;
&lt;h2 id="the-great-kanto-earthquake"&gt;&lt;a class="toclink" href="#the-great-kanto-earthquake"&gt;The Great Kanto Earthquake&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;It could be argued then that when disaster struck upon Japan in 1923 with the devastating Great Kanto Earthquake, Belgium reacted without hesitation to set up its own relief help and fundraisers to support a Japan, a friendly nation in dire need. The royal family co-operated with a newly found committee (“the Belgian National Committee for Aid to Japanese Disaster Victims”) to oversee a large-scale relief effort. Locally, war-veterans and churches worked together to set up Japan-Day events across the country, including in my own hometown of Antwerp. Belgian artists also made a unique contribution by creating new, or collecting and donating existing, art pieces and exhibiting them first in Brussels, and later on in Japan. All proceeds of sales and entrance fees went to the relief effort. Over 35 thousand visitors in Japan alone came to appreciate the exhibition, and &lt;span data-pullquote="amongst the art-purchasers were the empress and crown prince, buying over 30 pieces in total."&gt;amongst the art-purchasers were the empress and crown prince, buying over 30 pieces in total.&lt;/span&gt; &lt;/p&gt;
&lt;p&gt;Of course, many countries participated in fundraisers for Japan, but Belgium’s effort was so strong they were preceded only by the large nations of the United States and the United Kingdom – surely a sign of our people’s mutual compassion and friendship, and hopefully a path we’re able to continue through the future, together.&lt;/p&gt;
&lt;p&gt;With that, I would like to end my presentation. I hope you have enjoyed it and thanks for your attention.&lt;/p&gt;
&lt;h1 id="sources"&gt;&lt;a class="toclink" href="#sources"&gt;Sources&lt;/a&gt;&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Japan &amp;amp; Belgium: An Itinerary of Mutual Inspiration, ed. W.F. Vande Walle, pp. 187-213. Tielt: Lannoo, 2016.&lt;/li&gt;
&lt;li&gt;Japan &amp;amp; Belgium: Four Centuries of Exchange. Brussels: Commissioners-General of the Belgian Government at the Universal Exposition of Aichi 2005, Japan.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="footnote"&gt;
&lt;hr/&gt;
&lt;ol&gt;
&lt;li id="fn-footnote"&gt;
&lt;p&gt;The official logo in celebration of 150 years of friendship, courtesy of the &lt;a href="http://www.be.emb-japan.go.jp/150jb/jp/index.html"&gt;Embassy of Japan in Belgium&lt;/a&gt;. &lt;a class="footnote-backref" href="#fnref-footnote" title="Jump back to footnote 1 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="Studies"></category><category term="Japan"></category><category term="History"></category><category term="Belgium"></category><category term="Speech"></category></entry><entry><title>Japan Cultural Festival in Antwerp 2016</title><link href="https://steviepoppe.net/blog/2016/11/japan-cultural-festival-in-antwerp-2016/" rel="alternate"></link><published>2016-11-13T00:00:00+01:00</published><updated>2016-11-13T00:00:00+01:00</updated><author><name>Stevie Poppe</name></author><id>tag:steviepoppe.net,2016-11-13:/blog/2016/11/japan-cultural-festival-in-antwerp-2016/</id><summary type="html">&lt;p&gt;&lt;img alt="poster" class="border right" src="https://steviepoppe.net/images/tsuuyaku/poster.jpg" title="poster"/&gt;&lt;/p&gt;
&lt;p&gt;This weekend the NHK Culture Center and the Embassy of Japan in Belgium organized the 30&lt;sup&gt;th&lt;/sup&gt; edition of the Japan Cultural Festival, held in Antwerp in celebration of 150 years of friendship between our two nations. Together with a few classmates and upper class students I had the honor and pleasure of joining this event’s staff of interpreter volunteers, spending my last 3 days assisting two incredible (and incredibly kind) artists convey their works to a large crowd of highly interested Japan aficionados.&lt;/p&gt;
&lt;p&gt;The festival included a wide variety of exhibitions, demonstrations and performances related to Japanese artistry: dances, drum performances, calligraphy, clothing, tea ceremonies, etc. During the festival I was responsible for a stand on artistic calligraphy and a Japanese embroidery technique called &lt;em&gt;sashiko&lt;/em&gt; (&lt;span lang="ja"&gt;刺し子&lt;/span&gt;)&lt;sup&gt;&lt;/sup&gt;, two fields of artistry I had no prior experience in and thus learned a lot about through my interpreting those 3 days.&lt;/p&gt;
&lt;p&gt;Interpreting as barely just a third year student was quite an experience. The amount of technical terms related to embroidery processionally made it pretty difficult to accurately translate everything in real time but I think I somehow managed to convey the overall meaning most of the time. Something that quite surprised me was how engrossed I got in my interpreting as well as the group sense we fostered. I felt a certain sense of pride every time guests complimented on our booth’s exhibitions.&lt;/p&gt;
&lt;p&gt;Another thing that surprised me was the high interest in these art forms I originally thought maybe to be too specific to draw large crowds. Both days of the event were highly visited and left us drowned in work to the point we barely had time to eat a snack at noon. At the end everyone was exhausted, but it was definitely a good kind of exhaustion, and spending the evening together having dinner in the city center of my hometown made it all the more a pleasant memory!&lt;/p&gt;
&lt;p&gt;&lt;img alt="festival3" class="border fcenter" src="https://steviepoppe.net/images/tsuuyaku/festival3.jpg" title="festival3"/&gt;&lt;/p&gt;
&lt;p&gt;&lt;center&gt;&lt;span style="text-align:center; font-size: 85%;"&gt;(me and the two artists, Hashimoto Shiori and Chiharu Minato, at our booth)&lt;/span&gt;&lt;/center&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="festival1" class="border fcenter" src="https://steviepoppe.net/images/tsuuyaku/festival1.jpg" title="festival1"/&gt;&lt;/p&gt;
&lt;p&gt;&lt;center&gt;&lt;span style="text-align:center; font-size: 85%;"&gt;(The opening ceremony was extremely formal, but I was pleased to occasionally perceive a little joke in the Japanese speeches that didn’t translate well in Dutch)&lt;/span&gt;&lt;/center&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="festival2" class="border fcenter" src="https://steviepoppe.net/images/tsuuyaku/festival2.jpg" title="festival2"/&gt;&lt;/p&gt;
&lt;p&gt;&lt;center&gt;&lt;span style="text-align:center; font-size: 85%;"&gt;(Alas, due to a dead cellphone battery I wasn’t able to take a lot of pictures of the events.)&lt;/span&gt;&lt;/center&gt;&lt;/p&gt;
</summary><content type="html">&lt;p&gt;&lt;img class="border right" src="https://steviepoppe.net/images/tsuuyaku/poster.jpg" title="poster" alt="poster"&gt;&lt;/p&gt;


&lt;p&gt;This weekend the NHK Culture Center and the Embassy of Japan in Belgium organized the 30&lt;sup&gt;th&lt;/sup&gt; edition of the Japan Cultural Festival, held in Antwerp in celebration of 150 years of friendship between our two nations. Together with a few classmates and upper class students I had the honor and pleasure of joining this event&amp;rsquo;s staff of interpreter volunteers, spending my last 3 days assisting two incredible (and incredibly kind) artists convey their works to a large crowd of highly interested Japan aficionados.&lt;/p&gt;


&lt;p&gt;The festival included a wide variety of exhibitions, demonstrations and performances related to Japanese artistry: dances, drum performances, calligraphy, clothing, tea ceremonies, etc. During the festival I was responsible for a stand on artistic calligraphy and a Japanese embroidery technique called &lt;em&gt;sashiko&lt;/em&gt; (&lt;span lang="ja"&gt;刺し子&lt;/span&gt;)&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-1" id="fnref-1" rel="footnote"&gt;2&lt;/a&gt;&lt;/sup&gt;, two fields of artistry I had no prior experience in and thus learned a lot about through my interpreting those 3 days.&lt;/p&gt;
&lt;p&gt;Interpreting as barely just a third year student was quite an experience. The amount of technical terms related to embroidery processionally made it pretty difficult to accurately translate everything in real time but I think I somehow managed to convey the overall meaning most of the time. Something that quite surprised me was how engrossed I got in my interpreting as well as the group sense we fostered. I felt a certain sense of pride every time guests complimented on our booth&amp;rsquo;s exhibitions.&lt;/p&gt;
&lt;p&gt;Another thing that surprised me was the high interest in these art forms I originally thought maybe to be too specific to draw large crowds. Both days of the event were highly visited and left us drowned in work to the point we barely had time to eat a snack at noon. At the end everyone was exhausted, but it was definitely a good kind of exhaustion, and spending the evening together having dinner in the city center of my hometown made it all the more a pleasant memory!&lt;/p&gt;
&lt;p&gt;&lt;img class="border fcenter" src="https://steviepoppe.net/images/tsuuyaku/festival3.jpg" title="festival3" alt="festival3"&gt;&lt;/p&gt;
&lt;p&gt;&lt;center&gt;&lt;span style='text-align:center; font-size: 85%;'&gt;(me and the two artists, Hashimoto Shiori and Chiharu Minato, at our booth)&lt;/span&gt;&lt;/center&gt;&lt;/p&gt;
&lt;p&gt;&lt;img class="border fcenter" src="https://steviepoppe.net/images/tsuuyaku/festival1.jpg" title="festival1" alt="festival1"&gt;&lt;/p&gt;
&lt;p&gt;&lt;center&gt;&lt;span style='text-align:center; font-size: 85%;'&gt;(The opening ceremony was extremely formal, but I was pleased to occasionally perceive a little joke in the Japanese speeches that didn&amp;rsquo;t translate well in Dutch)&lt;/span&gt;&lt;/center&gt;&lt;/p&gt;
&lt;p&gt;&lt;img class="border fcenter" src="https://steviepoppe.net/images/tsuuyaku/festival2.jpg" title="festival2" alt="festival2"&gt;&lt;/p&gt;
&lt;p&gt;&lt;center&gt;&lt;span style='text-align:center; font-size: 85%;'&gt;(Alas, due to a dead cellphone battery I wasn&amp;rsquo;t able to take a lot of pictures of the events.)&lt;/span&gt;&lt;/span&gt;&lt;/center&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn-footnote"&gt;
&lt;p&gt;Opening ceremony of the Culture Festival.&amp;#160;&lt;a class="footnote-backref" href="#fnref-footnote" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-1"&gt;
&lt;p&gt;Sashiko clothes are commonly made from Japanese indigo blue dyed cotton clothes embroiled with distinct patterns - &lt;a href="https://en.wikipedia.org/wiki/Sashiko_stitching"&gt;https://en.wikipedia.org/wiki/Sashiko_stitching&lt;/a&gt;&amp;#160;&lt;a class="footnote-backref" href="#fnref-1" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="Personal"></category><category term="Japan"></category><category term="Belgium"></category><category term="Culture"></category><category term="Volunteering"></category><category term="Interpreting"></category></entry><entry><title>Writing a Musical?</title><link href="https://steviepoppe.net/blog/2016/10/writing-a-musical/" rel="alternate"></link><published>2016-10-24T00:00:00+02:00</published><updated>2016-10-24T00:00:00+02:00</updated><author><name>Stevie Poppe</name></author><id>tag:steviepoppe.net,2016-10-24:/blog/2016/10/writing-a-musical/</id><summary type="html">
&lt;p&gt;Last year, I cooperated with several other students at my music academy to write the music for a small local musical called “&lt;strong&gt;Dating&lt;/strong&gt; - &lt;em&gt;a musical for the highly educated&lt;/em&gt;” (a supposedly ironic, yet pretentious title I’m less than fond of, honestly). Being slightly unsatisfied with the end-result of my own compositions, I’ve since started rearranging them. I intend to describe the process in this little blog post.&lt;/p&gt;
&lt;h1 id="the-idea"&gt;&lt;a class="toclink" href="#the-idea"&gt;The Idea&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Under the wings of our arrangement teacher, we collaborated with the Word &amp;amp; Song division of our music academy and the Kontich Orchestra. The W&amp;amp;S division provided the actors, came up with a general concept and devised a tentative track list as well as additional background information we were to use as guidelines in our compositions.&lt;/p&gt;
&lt;p&gt;We held frequent meetings with the Kontich Orchestra for rehearsals, further fine tuning, and to get a better feel of each musician’s capacities and the sound of their instrument. In the end, due time limits, I only contributed two songs but I’m happy to have been part of the project despite the in my opinion somewhat pretentious premise. The following flyer was distributed around town:&lt;/p&gt;
&lt;p&gt;&lt;img alt="folder" class="border fcenter" src="https://steviepoppe.net/images/musical/folder.jpg" title="folder"/&gt;&lt;/p&gt;
&lt;h1 id="the-story"&gt;&lt;a class="toclink" href="#the-story"&gt;The Story&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;“&lt;strong&gt;Dating&lt;/strong&gt; - &lt;em&gt;a musical for the highly educated&lt;/em&gt;” involves a group of supposedly less than highly educated adults from out of town who’ve met up for a double date using a popular dating site. A couple of teenagers, obsessed with selfies and being young (the average age of the writing team was about 50 years by the way) take note of this and decide to ruin their fun by pretending to be each others date.&lt;/p&gt;
&lt;p&gt;Somewhere near the end, things get heated up so much that a member of the audience, using classic “&lt;em&gt;breaking the fourth wall&lt;/em&gt;“&lt;sup&gt;&lt;/sup&gt; techniques, calls the musical to an abrupt end by spouting some idealistic wishes on the concepts of love and relationships. At this stage, &lt;strong&gt;Bacchus&lt;/strong&gt;&lt;sup&gt;&lt;/sup&gt; and &lt;strong&gt;Cupido&lt;/strong&gt; make their entrance in a rather absurd fashion and save the day by convincing the audience that yes, it’s important to believe in love.&lt;/p&gt;
&lt;p&gt;(I just wrote the music! I take no part in this plot!)&lt;/p&gt;
&lt;h1 id="the-songs"&gt;&lt;a class="toclink" href="#the-songs"&gt;The Songs&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="the-banana-caves"&gt;&lt;a class="toclink" href="#the-banana-caves"&gt;The Banana Caves&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;This song is played right at the start of the second half of the musical. As the cast enters the bar and spends a while having a few drinks too many before breaking out into dance, my …&lt;/p&gt;</summary><content type="html">

&lt;p&gt;Last year, I cooperated with several other students at my music academy to write the music for a small local musical called “&lt;strong&gt;Dating&lt;/strong&gt; - &lt;em&gt;a musical for the highly educated&lt;/em&gt;” (a supposedly ironic, yet pretentious title I’m less than fond of, honestly). Being slightly unsatisfied with the end-result of my own compositions, I’ve since started rearranging them. I intend to describe the process in this little blog post.&lt;/p&gt;

&lt;h1 id="the-idea"&gt;&lt;a class="toclink" href="#the-idea"&gt;The Idea&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Under the wings of our arrangement teacher, we collaborated with the Word &amp;amp; Song division of our music academy and the Kontich Orchestra. The W&amp;amp;S division provided the actors, came up with a general concept and devised a tentative track list as well as additional background information we were to use as guidelines in our compositions.&lt;/p&gt;
&lt;p&gt;We held frequent meetings with the Kontich Orchestra for rehearsals, further fine tuning, and to get a better feel of each musician’s capacities and the sound of their instrument. In the end, due time limits, I only contributed two songs but I’m happy to have been part of the project despite the in my opinion somewhat pretentious premise. The following flyer was distributed around town:&lt;/p&gt;
&lt;p&gt;&lt;img alt="folder" class="border fcenter" src="https://steviepoppe.net/images/musical/folder.jpg" title="folder"/&gt;&lt;/p&gt;
&lt;h1 id="the-story"&gt;&lt;a class="toclink" href="#the-story"&gt;The Story&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;“&lt;strong&gt;Dating&lt;/strong&gt; - &lt;em&gt;a musical for the highly educated&lt;/em&gt;” involves a group of supposedly less than highly educated adults from out of town who’ve met up for a double date using a popular dating site. A couple of teenagers, obsessed with selfies and being young (the average age of the writing team was about 50 years by the way) take note of this and decide to ruin their fun by pretending to be each others date.&lt;/p&gt;
&lt;p&gt;Somewhere near the end, things get heated up so much that a member of the audience, using classic “&lt;em&gt;breaking the fourth wall&lt;/em&gt;“&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-1" id="fnref-1" rel="footnote"&gt;1&lt;/a&gt;&lt;/sup&gt; techniques, calls the musical to an abrupt end by spouting some idealistic wishes on the concepts of love and relationships. At this stage, &lt;strong&gt;Bacchus&lt;/strong&gt;&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-2" id="fnref-2" rel="footnote"&gt;2&lt;/a&gt;&lt;/sup&gt; and &lt;strong&gt;Cupido&lt;/strong&gt; make their entrance in a rather absurd fashion and save the day by convincing the audience that yes, it’s important to believe in love.&lt;/p&gt;
&lt;p&gt;(I just wrote the music! I take no part in this plot!)&lt;/p&gt;
&lt;h1 id="the-songs"&gt;&lt;a class="toclink" href="#the-songs"&gt;The Songs&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="the-banana-caves"&gt;&lt;a class="toclink" href="#the-banana-caves"&gt;The Banana Caves&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;This song is played right at the start of the second half of the musical. As the cast enters the bar and spends a while having a few drinks too many before breaking out into dance, my guidelines were to create a slow “ballad” that leads into a funky second half. Unfortunately, I have no proper recordings of the actual musical, but the following track is my work-in-progress rearrangement. As I’ve yet to run it through a VST it sounds quite synthetic but I hope you enjoy it nonetheless.&lt;/p&gt;
&lt;p&gt;&lt;span class="videobox"&gt;
&lt;iframe allowfullscreen="" frameborder="0" height="390" mozallowfullscreen="" src="https://www.youtube.com/embed/3SRXGZui_54" webkitallowfullscreen="" width="640"&gt;
&lt;/iframe&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;This might sound silly, but I’m rather fond of videogame composer David Wise’s soundtrack to the original Donkey Kong Country games for the Super Nintendo console, games I grew up with as a kid. I tried to create a similar atmosphere in my song and named it &lt;strong&gt;The banana Caves&lt;/strong&gt; as a kind of homage. It’s basically done but the part between 3:50 and 4:00 needs some further work. :P&lt;/p&gt;
&lt;h2 id="creepy-intermezzo"&gt;&lt;a class="toclink" href="#creepy-intermezzo"&gt;Creepy Intermezzo&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The second piece I wrote was a very last minute composition used during the intermezzo, a time when the actors needed a brief moment to rearrange the decor. I wanted to create something mysterious and film-ish to keep the audience in suspense. At the time I had been playing a lot of Erik Satie’s work and based my theme’s base on his Gnossiennes. The further arrangements were inspired by the gothic soundtrack of Coppola’s &lt;em&gt;“Bram Stoker’s Dracula”&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;&lt;span class="videobox"&gt;
&lt;iframe allowfullscreen="" frameborder="0" height="390" mozallowfullscreen="" src="https://www.youtube.com/embed/hmXbOc0AOFM" webkitallowfullscreen="" width="640"&gt;
&lt;/iframe&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;In retrospect, I should have read the script more carefully; the particular mood I tried to convey with this track wasn’t the most suitable for the relative lighthearted musical it was meant for. I do like the piece’s main theme but I’m not satisfied with the quick ‘n dirty arrangement so I hope to start over some time.&lt;/p&gt;
&lt;hr/&gt;
&lt;p&gt;That’s it for now! I’m in the process of rearranging and mixing several compositions in my spare time so I’ll be sure to post here when I have something new tangible.&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr/&gt;
&lt;ol&gt;
&lt;li id="fn-1"&gt;
&lt;p&gt;a &lt;a href="https://en.wikipedia.org/wiki/Fourth_wall"&gt;theater convention&lt;/a&gt; intended to heighten a piece’s realism: actors act in such a way that an imagined, invisible wall seemingly separates the audience from the stage. Breaking this wall refers to the act of proceeding contact between the stage and the audience. &lt;a class="footnote-backref" href="#fnref-1" title="Jump back to footnote 1 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-2"&gt;
&lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/Dionysus"&gt;Bacchus&lt;/a&gt;, the Roman god of agriculture and wine and equivalent of the Greece Dionysus. He’s often associated with hedonism. &lt;a class="footnote-backref" href="#fnref-2" title="Jump back to footnote 2 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="Personal"></category><category term="Music"></category><category term="Composing"></category><category term="Musical"></category></entry><entry><title>Narrating Newspapers: Weekly Vlogging as a Japanese 練習</title><link href="https://steviepoppe.net/blog/2016/10/narrating-newspapers-weekly-vlogging-as-a-japanese-renshu/" rel="alternate"></link><published>2016-10-17T00:00:00+02:00</published><updated>2016-10-17T00:00:00+02:00</updated><author><name>Stevie Poppe</name></author><id>tag:steviepoppe.net,2016-10-17:/blog/2016/10/narrating-newspapers-weekly-vlogging-as-a-japanese-renshu/</id><summary type="html">
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: currently on hold due my upcoming exams. Priorities!&lt;/p&gt;

&lt;p&gt;In order to up my Japanese pronunciation and become more fluent in Japanese text recitation, I’ve tried getting acquainted with vlogging in Japanese. I’ll (hopefully) publish weekly videos of myself narrating a newly posted news article published on one of the mainstream Japanese newspaper websites, using a classic streaming-style set-up so any potential viewer can read along.&lt;/p&gt;
&lt;p&gt;If time permits, I’ve found it a fun exercise to try and translate the article as well as create subtitles (maybe I should try fan-subbing some anime or drama one of these days, if I ever find the time, that is~).&lt;/p&gt;

&lt;p&gt;As this will become a weekly thing I won’t be posting new blog-articles for every single video I do, but feel free to follow me on &lt;a href="https://twitter.com/PoppeStevie"&gt;twitter&lt;/a&gt; or subscribe to my &lt;a href="https://www.youtube.com/channel/UC-wW8gg1lGVn99X9ue6_eVA"&gt;YT channel&lt;/a&gt;. For now it’s limited to these narrations and (&lt;em&gt;wip&lt;/em&gt;) music, but actually I’ve always wanted to try actual vlogging and/or podcasts.... Maybe it’ll happen one day (when I’m studying abroadかな～).&lt;/p&gt;
&lt;h1 id="videos"&gt;&lt;a class="toclink" href="#videos"&gt;Videos&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="week-9"&gt;&lt;a class="toclink" href="#week-9"&gt;Week 9: &lt;span lang="ja"&gt;殺人未遂容疑&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;This Mainichi Shumbun article is another one related to JR. A guy tried to push two people of train platforms in Osaka and is now wanted for double attempted homicide. The original article can be found on &lt;em&gt;Mainichi Shimbun&lt;/em&gt; (&lt;a href="http://mainichi.jp/articles/20161212/k00/00m/040/075000c#"&gt;線路に６３歳女性突き落とす　男逃走　大阪&lt;/a&gt;). As usual I’ve included English subtitles. &lt;em&gt;(22/11/16)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="videobox"&gt;
&lt;iframe allowfullscreen="" frameborder="0" height="390" mozallowfullscreen="" src="https://www.youtube.com/embed/qknMcYiQ2tk" webkitallowfullscreen="" width="640"&gt;
&lt;/iframe&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="week-8-jr"&gt;&lt;a class="toclink" href="#week-8-jr"&gt;Week 8: &lt;span lang="ja"&gt;ＪＲ山手線&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;This week’s article is on a small accident on the JR Yamata line caused by a overheated cellphone charger. The original article can be found on &lt;em&gt;Mainichi Shimbun&lt;/em&gt; (&lt;a href="http://mainichi.jp/articles/20161205/k00/00m/040/029000c"&gt;ＪＲ山手線 車内で携帯充電器が発煙&lt;/a&gt;). As usual I’ve included English subtitles. &lt;em&gt;(22/11/16)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="videobox"&gt;
&lt;iframe allowfullscreen="" frameborder="0" height="390" mozallowfullscreen="" src="https://www.youtube.com/embed/O6KXLcDbeRY" webkitallowfullscreen="" width="640"&gt;
&lt;/iframe&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="week-7"&gt;&lt;a class="toclink" href="#week-7"&gt;Week 7: &lt;span lang="ja"&gt;織田信長とアルベール一世&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Due the Brussels Japanese Speech Contest this weekend I didn’t record any news articles, but instead uploaded a recording of my speech entry. I’ve posted the original speech in Japanese, as well as an English translation on these blogs: &lt;a href="https://steviepoppe.net/blog/2016/12/oda-nobunaga-to-aruberu-issei/"&gt;Japanese&lt;/a&gt; &amp;amp; &lt;a href="https://steviepoppe.net/blog/2016/11/oda-nobunaga-and-king-albert-the-shared-history-of-our-nations-people/"&gt;English&lt;/a&gt;! &lt;em&gt;(27/11/16)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="videobox"&gt;
&lt;iframe allowfullscreen="" frameborder="0" height="390" mozallowfullscreen="" src="https://www.youtube.com/embed/cHx3xUfM_DY" webkitallowfullscreen="" width="640"&gt;
&lt;/iframe&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="week-6-ptsd"&gt;&lt;a class="toclink" href="#week-6-ptsd"&gt;Week 6: &lt;span lang="ja"&gt;ＰＴＳＤ治療&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;This one’s an article on a possible treatment to PTSD. The original article can be found on &lt;em&gt;Asahi Shimbun&lt;/em&gt; (&lt;a href="http://www.asahi.com/articles/ASJCM5GVTJCMULBJ00D.html"&gt;恐怖の記憶、書き換える技術開発　ＰＴＳＤ治療に効果か&lt;/a&gt;). As usual …&lt;/p&gt;</summary><content type="html">
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: currently on hold due my upcoming exams. Priorities!&lt;/p&gt;

&lt;p&gt;In order to up my Japanese pronunciation and become more fluent in Japanese text recitation, I’ve tried getting acquainted with vlogging in Japanese. I’ll (hopefully) publish weekly videos of myself narrating a newly posted news article published on one of the mainstream Japanese newspaper websites, using a classic streaming-style set-up so any potential viewer can read along.&lt;/p&gt;
&lt;p&gt;If time permits, I’ve found it a fun exercise to try and translate the article as well as create subtitles (maybe I should try fan-subbing some anime or drama one of these days, if I ever find the time, that is~).&lt;/p&gt;

&lt;p&gt;As this will become a weekly thing I won’t be posting new blog-articles for every single video I do, but feel free to follow me on &lt;a href="https://twitter.com/PoppeStevie"&gt;twitter&lt;/a&gt; or subscribe to my &lt;a href="https://www.youtube.com/channel/UC-wW8gg1lGVn99X9ue6_eVA"&gt;YT channel&lt;/a&gt;. For now it’s limited to these narrations and (&lt;em&gt;wip&lt;/em&gt;) music, but actually I’ve always wanted to try actual vlogging and/or podcasts.... Maybe it’ll happen one day (when I’m studying abroadかな～).&lt;/p&gt;
&lt;h1 id="videos"&gt;&lt;a class="toclink" href="#videos"&gt;Videos&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="week-9"&gt;&lt;a class="toclink" href="#week-9"&gt;Week 9: &lt;span lang="ja"&gt;殺人未遂容疑&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;This Mainichi Shumbun article is another one related to JR. A guy tried to push two people of train platforms in Osaka and is now wanted for double attempted homicide. The original article can be found on &lt;em&gt;Mainichi Shimbun&lt;/em&gt; (&lt;a href="http://mainichi.jp/articles/20161212/k00/00m/040/075000c#"&gt;線路に６３歳女性突き落とす　男逃走　大阪&lt;/a&gt;). As usual I’ve included English subtitles. &lt;em&gt;(22/11/16)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="videobox"&gt;
&lt;iframe allowfullscreen="" frameborder="0" height="390" mozallowfullscreen="" src="https://www.youtube.com/embed/qknMcYiQ2tk" webkitallowfullscreen="" width="640"&gt;
&lt;/iframe&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="week-8-jr"&gt;&lt;a class="toclink" href="#week-8-jr"&gt;Week 8: &lt;span lang="ja"&gt;ＪＲ山手線&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;This week’s article is on a small accident on the JR Yamata line caused by a overheated cellphone charger. The original article can be found on &lt;em&gt;Mainichi Shimbun&lt;/em&gt; (&lt;a href="http://mainichi.jp/articles/20161205/k00/00m/040/029000c"&gt;ＪＲ山手線 車内で携帯充電器が発煙&lt;/a&gt;). As usual I’ve included English subtitles. &lt;em&gt;(22/11/16)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="videobox"&gt;
&lt;iframe allowfullscreen="" frameborder="0" height="390" mozallowfullscreen="" src="https://www.youtube.com/embed/O6KXLcDbeRY" webkitallowfullscreen="" width="640"&gt;
&lt;/iframe&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="week-7"&gt;&lt;a class="toclink" href="#week-7"&gt;Week 7: &lt;span lang="ja"&gt;織田信長とアルベール一世&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Due the Brussels Japanese Speech Contest this weekend I didn’t record any news articles, but instead uploaded a recording of my speech entry. I’ve posted the original speech in Japanese, as well as an English translation on these blogs: &lt;a href="https://steviepoppe.net/blog/2016/12/oda-nobunaga-to-aruberu-issei/"&gt;Japanese&lt;/a&gt; &amp;amp; &lt;a href="https://steviepoppe.net/blog/2016/11/oda-nobunaga-and-king-albert-the-shared-history-of-our-nations-people/"&gt;English&lt;/a&gt;! &lt;em&gt;(27/11/16)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="videobox"&gt;
&lt;iframe allowfullscreen="" frameborder="0" height="390" mozallowfullscreen="" src="https://www.youtube.com/embed/cHx3xUfM_DY" webkitallowfullscreen="" width="640"&gt;
&lt;/iframe&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="week-6-ptsd"&gt;&lt;a class="toclink" href="#week-6-ptsd"&gt;Week 6: &lt;span lang="ja"&gt;ＰＴＳＤ治療&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;This one’s an article on a possible treatment to PTSD. The original article can be found on &lt;em&gt;Asahi Shimbun&lt;/em&gt; (&lt;a href="http://www.asahi.com/articles/ASJCM5GVTJCMULBJ00D.html"&gt;恐怖の記憶、書き換える技術開発　ＰＴＳＤ治療に効果か&lt;/a&gt;). As usual I’ve included English subtitles. &lt;em&gt;(22/11/16)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="videobox"&gt;
&lt;iframe allowfullscreen="" frameborder="0" height="390" mozallowfullscreen="" src="https://www.youtube.com/embed/K7rAC7NcusY" webkitallowfullscreen="" width="640"&gt;
&lt;/iframe&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="week-5"&gt;&lt;a class="toclink" href="#week-5"&gt;Week 5: &lt;span lang="ja"&gt;トランプ氏&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;This time I’m reading a Nikkei article on Trump’s first public interview since his election as President of the USA. The original article can be found on &lt;em&gt;Sankei News&lt;/em&gt; (&lt;a href="http://www.nikkei.com/article/DGXLASGM14H0L_U6A111C1EAF000/?dg=1"&gt;&lt;span lang="ja"&gt;トランプ氏、&lt;/span&gt;&lt;span lang="ja"&gt;&lt;ruby&gt;&lt;rb&gt;犯罪歴&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;はんざいれき&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;&lt;/span&gt;&lt;span lang="ja"&gt;ある&lt;/span&gt;&lt;span lang="ja"&gt;&lt;ruby&gt;&lt;rb&gt;移民&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;いみん&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;&lt;/span&gt;&lt;span lang="ja"&gt;を&lt;/span&gt;&lt;span lang="ja"&gt;&lt;ruby&gt;&lt;rb&gt;強制送還&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;きょうせいそうかん&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;&lt;/span&gt;　最大300万人}}&lt;/a&gt;). &lt;em&gt;(14/11/16)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="videobox"&gt;
&lt;iframe allowfullscreen="" frameborder="0" height="390" mozallowfullscreen="" src="https://www.youtube.com/embed/RlEBvUv4idI" webkitallowfullscreen="" width="640"&gt;
&lt;/iframe&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="week-4"&gt;&lt;a class="toclink" href="#week-4"&gt;Week 4: &lt;span lang="ja"&gt;トヨタの電気自動車&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;My fourth reading is on a Toyota press-release regarding its policy on electrical vehicles. The original article can be found on &lt;em&gt;Sankei News&lt;/em&gt; (&lt;a href="http://www.sankei.com/west/news/161107/wst1611070037-n2.html"&gt;トヨタ、&lt;span lang="ja"&gt;&lt;ruby&gt;&lt;rb&gt;電気自動車&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;でんきじどうしゃ&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;&lt;/span&gt;を量産　平成３２年までに本格参入…バッテリー性能向上で走行距離改善&lt;/a&gt;). &lt;em&gt;(08/11/16)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="videobox"&gt;
&lt;iframe allowfullscreen="" frameborder="0" height="390" mozallowfullscreen="" src="https://www.youtube.com/embed/bJ3qFytc1pM" webkitallowfullscreen="" width="640"&gt;
&lt;/iframe&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="week-3"&gt;&lt;a class="toclink" href="#week-3"&gt;Week 3: &lt;span lang="ja"&gt;渋谷のハロウィーン&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;This week’s newspaper article is a report on the pre-&lt;strong&gt;Halloween&lt;/strong&gt; festivities around the shopping districts in Shibuya, Tokyo. The original article can be found on &lt;em&gt;Sankei News&lt;/em&gt; (&lt;a href="http://www.sankei.com/life/news/161029/lif1610290035-n1.html"&gt;「安倍マリオ」効果か？　スーパーマリオ仮装売れ行き好調　週末の&lt;span lang="ja"&gt;&lt;ruby&gt;&lt;rb&gt;渋谷&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;しぶや&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;&lt;/span&gt;ルポ&lt;/a&gt;). As usual I’ve added subtitles in CC. &lt;em&gt;(30/10/16)&lt;/em&gt; (not sure if that’s a bad angle or if I should really lose some weight soon…)&lt;/p&gt;
&lt;p&gt;&lt;span class="videobox"&gt;
&lt;iframe allowfullscreen="" frameborder="0" height="390" mozallowfullscreen="" src="https://www.youtube.com/embed/GtXbE5TOi-k" webkitallowfullscreen="" width="640"&gt;
&lt;/iframe&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="week-2"&gt;&lt;a class="toclink" href="#week-2"&gt;Week 2: &lt;span lang="ja"&gt;くまモン&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;My second vlog is a bit more light-hearted and covers the history of the famous Kumamoto Prefecture character &lt;strong&gt;Kumamon&lt;/strong&gt;, again covered in an &lt;em&gt;Asahi Shimbun&lt;/em&gt; article: &lt;a href="http://digital.asahi.com/articles/ASJ9Y3K05J9YTLVB00F.html"&gt;くまモン、やせていた「過去」　失敗糧にキャラ再設定&lt;/a&gt;. Subtitles are available in CC. &lt;em&gt;(23/10/16)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="videobox"&gt;
&lt;iframe allowfullscreen="" frameborder="0" height="390" mozallowfullscreen="" src="https://www.youtube.com/embed/hbgF68qXLns" webkitallowfullscreen="" width="640"&gt;
&lt;/iframe&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="week-1"&gt;&lt;a class="toclink" href="#week-1"&gt;Week 1: &lt;span lang="ja"&gt;ブラック企業&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;My first vlog is on the ブラック&lt;span lang="ja"&gt;&lt;ruby&gt;&lt;rb&gt;企業&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;きぎょう&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;&lt;/span&gt;, the so-called Japanese &lt;strong&gt;&lt;a href="https://en.wikipedia.org/wiki/Black_company_(Japanese_term)"&gt;Black companies&lt;/a&gt;&lt;/strong&gt;. I’m reading the &lt;em&gt;Asahi Shimbun&lt;/em&gt; article &lt;a href="http://digital.asahi.com/articles/ASJBG5DH5JBGUTIL03S.html"&gt;ブラック企業、見抜くには…転職者から情報、離職率調査&lt;/a&gt; and attempted my own translation as seen in the subtitles (I’ve added them as soft-subs in YouTube, so you can (de)activate them at will).&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-1" id="fnref-1" rel="footnote"&gt;2&lt;/a&gt;&lt;/sup&gt; &lt;em&gt;(16/10/16)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="videobox"&gt;
&lt;iframe allowfullscreen="" frameborder="0" height="390" mozallowfullscreen="" src="https://www.youtube.com/embed/5gb-MOZJrkM" webkitallowfullscreen="" width="640"&gt;
&lt;/iframe&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr/&gt;
&lt;ol&gt;
&lt;li id="fn-footnote"&gt;
&lt;p&gt;Photograph of my desktop set-up. My voice-recorder is a Blue Snowball model. &lt;a class="footnote-backref" href="#fnref-footnote" title="Jump back to footnote 1 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-1"&gt;
&lt;p&gt;The beginning of the video is a bit rushed, sorry! &lt;a class="footnote-backref" href="#fnref-1" title="Jump back to footnote 2 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="Personal"></category><category term="Japanese"></category><category term="Vlog"></category><category term="Video"></category></entry><entry><title>Anki Add-on: Japanese translations for Korean vocabulary</title><link href="https://steviepoppe.net/blog/2016/10/anki-add-on-japanese-translations-for-korean-vocabulary/" rel="alternate"></link><published>2016-10-15T00:00:00+02:00</published><updated>2016-10-15T00:00:00+02:00</updated><author><name>Stevie Poppe</name></author><id>tag:steviepoppe.net,2016-10-15:/blog/2016/10/anki-add-on-japanese-translations-for-korean-vocabulary/</id><summary type="html">
&lt;p&gt;I have recently started studying Korean as part of the minor I took up at my university. While browsing the internet for helpful resources I found that, like us, a remarkable amount of students of the Korean language have knowledge of Japanese and/or study both simultaneously.&lt;/p&gt;
&lt;p&gt;As anyone browsing my blog might have guessed, I’m pretty fond of using Anki for assisting in vocab acquisition, and thus use it for Korean vocabulary as well, using both existing sets and my own based on our textbooks.&lt;sup&gt;&lt;/sup&gt; Having a broad base in Japanese, I thought it would be more efficient having a link between the two languages in my flashcards. In order to assist myself and other learners of both Japanese and Korean, I wrote an Anki add-on that adds Japanese translations of Korean expressions.&lt;/p&gt;
&lt;p&gt;Similar to my previous Anki posts, this blog post serves as a brief tutorial on setting up the add-on and adding Japanese translations to our cards. We’ll install an Anki add-on, alter our card-layout to display the Japanese expressions in a fashionable manner, and finally bulk-edit our existing cards to actually add them.&lt;/p&gt;
&lt;h1 id="anki-korean-japanese-add-on"&gt;&lt;a class="toclink" href="#anki-korean-japanese-add-on"&gt;Anki Korean-Japanese add-on&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;The add-on scrapes Weblio’s online Korean-Japanese dictionary for all translations aside from the usually present character decomposition. The expression 개 (transcribed as &lt;em&gt;gae&lt;/em&gt;&lt;sup&gt;&lt;/sup&gt; or &lt;em&gt;kae&lt;/em&gt;&lt;sup&gt;&lt;/sup&gt; and means either dog or is used as a particular counter), for example, results in the &lt;a href="http://kjjk.weblio.jp/content/%EA%B0%9C"&gt;following page&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;&lt;img alt="weblio" class="fborder fcenter" src="https://steviepoppe.net/images/korean/weblio.jpg" title="weblio"/&gt;&lt;/p&gt;
&lt;p&gt;(If I feel like it, or if there’s some demand for it, I’ll expand the add-on to scrape the example sentences as seen above as well)&lt;/p&gt;
&lt;h2 id="download"&gt;&lt;a class="toclink" href="#download"&gt;Download&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The &lt;strong&gt;Japanese Definitions for Korean Vocabulary&lt;/strong&gt; add-on has a page on Ankiweb’s &lt;a href="https://ankiweb.net/shared/info/553926167"&gt;plug-in page&lt;/a&gt;, but as usual we’ll install the plug-in using the Desktop Anki application. Go to &lt;strong&gt;Tools&lt;/strong&gt; → &lt;strong&gt;Add-ons&lt;/strong&gt; → &lt;strong&gt;Browse &amp;amp; Install&lt;/strong&gt;, and copy-paste &lt;strong&gt;553926167&lt;/strong&gt; in the pop-up dialog. Restart the application to complete the installation.&lt;/p&gt;
&lt;h2 id="set-up"&gt;&lt;a class="toclink" href="#set-up"&gt;Set-up&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The add-on expects two things:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The field containing your Korean expression should be called: &lt;code&gt;Korean&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;The note-type should contain a field called &lt;code&gt;Japanese&lt;/code&gt; which will contain the Japanese translations&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;(Both names can be edited in the &lt;code&gt;JapaneseDefinitionsKoreanVoc.py&lt;/code&gt; file by opening it with a text-editor and changing the names listed in the beginning. The file can be found on the Anki’s add-on folder on your computer (e.g. &lt;code&gt;C:\Users\your_username\Documents\Anki\addons&lt;/code&gt;))&lt;/p&gt;
&lt;p&gt;To create a new field &lt;code&gt;Japanese&lt;/code&gt;, open the …&lt;/p&gt;</summary><content type="html">
&lt;p&gt;I have recently started studying Korean as part of the minor I took up at my university. While browsing the internet for helpful resources I found that, like us, a remarkable amount of students of the Korean language have knowledge of Japanese and/or study both simultaneously.&lt;/p&gt;

&lt;p&gt;As anyone browsing my blog might have guessed, I’m pretty fond of using Anki for assisting in vocab acquisition, and thus use it for Korean vocabulary as well, using both existing sets and my own based on our textbooks.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-1" id="fnref-1" rel="footnote"&gt;2&lt;/a&gt;&lt;/sup&gt; Having a broad base in Japanese, I thought it would be more efficient having a link between the two languages in my flashcards. In order to assist myself and other learners of both Japanese and Korean, I wrote an Anki add-on that adds Japanese translations of Korean expressions.&lt;/p&gt;

&lt;p&gt;Similar to my previous Anki posts, this blog post serves as a brief tutorial on setting up the add-on and adding Japanese translations to our cards. We’ll install an Anki add-on, alter our card-layout to display the Japanese expressions in a fashionable manner, and finally bulk-edit our existing cards to actually add them.&lt;/p&gt;
&lt;h1 id="anki-korean-japanese-add-on"&gt;&lt;a class="toclink" href="#anki-korean-japanese-add-on"&gt;Anki Korean-Japanese add-on&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;The add-on scrapes Weblio’s online Korean-Japanese dictionary for all translations aside from the usually present character decomposition. The expression 개 (transcribed as &lt;em&gt;gae&lt;/em&gt;&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-2" id="fnref-2" rel="footnote"&gt;3&lt;/a&gt;&lt;/sup&gt; or &lt;em&gt;kae&lt;/em&gt;&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-3" id="fnref-3" rel="footnote"&gt;4&lt;/a&gt;&lt;/sup&gt; and means either dog or is used as a particular counter), for example, results in the &lt;a href="http://kjjk.weblio.jp/content/%EA%B0%9C"&gt;following page&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;&lt;img alt="weblio" class="fborder fcenter" src="https://steviepoppe.net/images/korean/weblio.jpg" title="weblio"/&gt;&lt;/p&gt;
&lt;p&gt;(If I feel like it, or if there’s some demand for it, I’ll expand the add-on to scrape the example sentences as seen above as well)&lt;/p&gt;
&lt;h2 id="download"&gt;&lt;a class="toclink" href="#download"&gt;Download&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The &lt;strong&gt;Japanese Definitions for Korean Vocabulary&lt;/strong&gt; add-on has a page on Ankiweb’s &lt;a href="https://ankiweb.net/shared/info/553926167"&gt;plug-in page&lt;/a&gt;, but as usual we’ll install the plug-in using the Desktop Anki application. Go to &lt;strong&gt;Tools&lt;/strong&gt; → &lt;strong&gt;Add-ons&lt;/strong&gt; → &lt;strong&gt;Browse &amp;amp; Install&lt;/strong&gt;, and copy-paste &lt;strong&gt;553926167&lt;/strong&gt; in the pop-up dialog. Restart the application to complete the installation.&lt;/p&gt;
&lt;h2 id="set-up"&gt;&lt;a class="toclink" href="#set-up"&gt;Set-up&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The add-on expects two things:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The field containing your Korean expression should be called: &lt;code&gt;Korean&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;The note-type should contain a field called &lt;code&gt;Japanese&lt;/code&gt; which will contain the Japanese translations&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;(Both names can be edited in the &lt;code&gt;JapaneseDefinitionsKoreanVoc.py&lt;/code&gt; file by opening it with a text-editor and changing the names listed in the beginning. The file can be found on the Anki’s add-on folder on your computer (e.g. &lt;code&gt;C:\Users\your_username\Documents\Anki\addons&lt;/code&gt;))&lt;/p&gt;
&lt;p&gt;To create a new field &lt;code&gt;Japanese&lt;/code&gt;, open the desktop Anki application and press &lt;span class="keys"&gt;&lt;kbd class="key-control"&gt;Ctrl&lt;/kbd&gt;&lt;span&gt;+&lt;/span&gt;&lt;kbd class="key-shift"&gt;Shift&lt;/kbd&gt;&lt;span&gt;+&lt;/span&gt;&lt;kbd class="key-n"&gt;N&lt;/kbd&gt;&lt;/span&gt; (or click &lt;strong&gt;Tools&lt;/strong&gt; → &lt;strong&gt;Manage Note Types&lt;/strong&gt;) to enter the note-type management screen. Select the note-type of the cards you’d like to contain example sentences and click &lt;strong&gt;fields&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;On the next screen, click &lt;strong&gt;add&lt;/strong&gt; and call the field &lt;code&gt;Japanese&lt;/code&gt;. Now close this screen. On the previous note-type management screen, click &lt;strong&gt;cards&lt;/strong&gt;. We’ll edit our lay-out and display the new field in our cards.&lt;/p&gt;
&lt;h2 id="anki-note-lay-out"&gt;&lt;a class="toclink" href="#anki-note-lay-out"&gt;Anki Note Lay-out&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;(this is a suggested Anki layout as seen in the screenshot below. Feel free to skip if you’d like to do this yourself.)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Lay-out&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Add the following CSS code to the shared style screen of your note’s card-type template.&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt;1&lt;/span&gt;
&lt;span class="normal"&gt;2&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;title&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="k"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#999999&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;font-size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;80&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;;}&lt;/span&gt;
&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;notes&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="k"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#449933&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;font-size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;80&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Templates&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Add the following code to the bottom of all your different card templates’ back template.&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt;1&lt;/span&gt;
&lt;span class="normal"&gt;2&lt;/span&gt;
&lt;span class="normal"&gt;3&lt;/span&gt;
&lt;span class="normal"&gt;4&lt;/span&gt;
&lt;span class="normal"&gt;5&lt;/span&gt;
&lt;span class="normal"&gt;6&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;{{#Japanese}}
&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;br&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;style&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;'text-align: left; '&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"title"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Additional Information:&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;br&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;notes&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;{{Japanese}}&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
{{/Japanese}}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;hr/&gt;
&lt;h2 id="bulk-edit"&gt;&lt;a class="toclink" href="#bulk-edit"&gt;Bulk-edit&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Open Anki’s browser (by pressing &lt;span class="keys"&gt;&lt;kbd class="key-b"&gt;B&lt;/kbd&gt;&lt;/span&gt; or clicking &lt;strong&gt;Browse&lt;/strong&gt; from the main window). The left of this browser has an overview of all your different sets and tags. Select the deck or tag containing the cards you’d like to edit. Press &lt;span class="keys"&gt;&lt;kbd class="key-control"&gt;Ctrl&lt;/kbd&gt;&lt;span&gt;+&lt;/span&gt;&lt;kbd class="key-a"&gt;A&lt;/kbd&gt;&lt;/span&gt; to select all of those and click &lt;strong&gt;Edit&lt;/strong&gt; → &lt;strong&gt;Regenerate JK Expression&lt;/strong&gt;. It will crawl the internet for each new definition and scrape the HTML so if you have thousands of cards this might take an hour or two.&lt;/p&gt;
&lt;h2 id="result"&gt;&lt;a class="toclink" href="#result"&gt;Result&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;img alt="result" class="fborder fcenter" src="https://steviepoppe.net/images/korean/result.jpg" title="result"/&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr/&gt;
&lt;ol&gt;
&lt;li id="fn-footnote"&gt;
&lt;p&gt;Screenshot of &lt;strong&gt;JapaneseDefinitionsKoreanVoc.py&lt;/strong&gt; code from Sublime Text’s editor. &lt;a class="footnote-backref" href="#fnref-footnote" title="Jump back to footnote 1 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-1"&gt;
&lt;p&gt;&lt;strong&gt;Cho, Young-mee Yu, red&lt;/strong&gt;. 2010. Integrated Korean: Beginning. 2&lt;sup&gt;nd&lt;/sup&gt; ed. KLEAR Textbooks in Korean Language. Honolulu: University of Hawaii Press &lt;a class="footnote-backref" href="#fnref-1" title="Jump back to footnote 2 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-2"&gt;
&lt;p&gt;According to the official Korean &lt;a href="https://en.wikipedia.org/wiki/Revised_Romanization_of_Korean"&gt;Revised Romanization&lt;/a&gt; &lt;a class="footnote-backref" href="#fnref-2" title="Jump back to footnote 3 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-3"&gt;
&lt;p&gt;According to the widely used &lt;a href="https://en.wikipedia.org/wiki/McCune%E2%80%93Reischauer"&gt;McCune-Reischauer&lt;/a&gt; transliteration system, which tries not to transliterate but rather represent the phonetic pronunciation. &lt;a class="footnote-backref" href="#fnref-3" title="Jump back to footnote 4 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="Studies"></category><category term="Anki"></category><category term="Tutorial"></category><category term="Korean"></category><category term="Japanese"></category><category term="Studying"></category></entry><entry><title>A Quick Guide on Using Anki 4: Making the switch - J-J definitions in your vocab cards</title><link href="https://steviepoppe.net/blog/2016/10/a-quick-guide-on-using-anki-4-making-the-switch-j-j-definitions-in-your-vocab-cards/" rel="alternate"></link><published>2016-10-02T00:00:00+02:00</published><updated>2016-10-02T00:00:00+02:00</updated><author><name>Stevie Poppe</name></author><id>tag:steviepoppe.net,2016-10-02:/blog/2016/10/a-quick-guide-on-using-anki-4-making-the-switch-j-j-definitions-in-your-vocab-cards/</id><summary type="html">&lt;div class="admonition note"&gt;
&lt;p class="admonition-title"&gt;2021 Update&lt;/p&gt;
&lt;p&gt;As of September 30, 2020, Sanseido &lt;a href="sanseido-publ.co.jp/sp/wbdct_close.html"&gt;stopped&lt;/a&gt; their web dictionary service. This tutorial is thus rendered obsolete. &lt;a href="https://kokugo.jitenon.jp/"&gt;Kokugo Jiten Online&lt;/a&gt; seems like a good alternative. I’ll look into updating the Sanseido add-on to use the above instead.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;You’ve been studying Japanese for a while now and reached a level of Japanese adequate enough to understand (simple) texts. Drilling new vocabulary has become a daily routine so entangled in your lifestyle you barely notice anymore. If you were to describe your current level of proficiency, you’d proudly present yourself as an intermediate level learner. Sounds familiar? Let’s take it a notch further by adding Japanese definitions&lt;sup&gt;&lt;/sup&gt; to our Anki-sets and reduce our dependency on English definition crutches!&lt;/p&gt;
&lt;p&gt;If you’ve followed my &lt;a href="#"&gt;previous tutorial&lt;/a&gt; on adding Japanese example sentences to your vocabulary cards, this tutorial will feel very similar: we’ll install an Anki add-on, alter our card-layout to display the definitions in a fashionable manner, and finally bulk-edit our existing cards to actually add them. (This might be my first tutorial worthy of the header &lt;strong&gt;quick&lt;/strong&gt;).&lt;/p&gt;
&lt;h1 id="sanseido-add-on"&gt;&lt;a class="toclink" href="#sanseido-add-on"&gt;Sanseido add-on&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;There are various online monolingual dictionaries for Japanese vocabulary. I personally like &lt;a href="http://www.weblio.jp"&gt;Weblio&lt;/a&gt; and &lt;a href="http://dictionary.goo.ne.jp/"&gt;Goo&lt;/a&gt;, but for our Anki cards we’ll use &lt;a href="http://www.sanseido.net/"&gt;Sanseido&lt;/a&gt; - their definitions are usually more concise as the other dictionaries and tend to employ more comprehensible vocabulary. Luck has it someone has already written an anki add-on to serve our blog’s purpose. The result of our work will look as follows:&lt;/p&gt;
&lt;p&gt;&lt;img alt="anki-gyakuten" class="fborder fcenter" src="https://steviepoppe.net/images/anki/anki-gyakuten.jpg" title="anki-gyakuten"/&gt;&lt;/p&gt;
&lt;h2 id="download"&gt;&lt;a class="toclink" href="#download"&gt;Download&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The &lt;strong&gt;Sanseido Definitions&lt;/strong&gt; add-on has a page on Ankiweb’s &lt;a href="https://ankiweb.net/shared/info/1967553085"&gt;plug-in page&lt;/a&gt;, but as usual we’ll install the plug-in using the Desktop Anki application. Go to &lt;strong&gt;Tools&lt;/strong&gt; → &lt;strong&gt;Add-ons&lt;/strong&gt; → &lt;strong&gt;Browse &amp;amp; Install&lt;/strong&gt;, and copy-paste &lt;strong&gt;1967553085&lt;/strong&gt; in the pop-up dialog. Restart the application to complete the installation.&lt;/p&gt;
&lt;h2 id="set-up"&gt;&lt;a class="toclink" href="#set-up"&gt;Set-up&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The note-types of the vocabulary you want Japanese definitions for will need a new field to contain the definition. On the desktop Anki application, press &lt;kbd&gt;CTRL-SHIFT-N&lt;/kbd&gt;, or click &lt;strong&gt;Tools&lt;/strong&gt; → &lt;strong&gt;Manage Note Types&lt;/strong&gt;, to enter the note-type management screen. Select the note-type of the cards you’d like to contain example sentences and click &lt;strong&gt;fields&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img alt="anki-notetype-select" class="fborder fcenter" src="https://steviepoppe.net/images/anki/anki-notetype-select.jpg" title="anki-notetype-select"/&gt;&lt;/p&gt;
&lt;p&gt;On the next screen, click &lt;strong&gt;add&lt;/strong&gt; and call the field &lt;code&gt;Sanseido&lt;/code&gt;. Now close this screen. On the previous note-type management screen, click &lt;strong&gt;cards&lt;/strong&gt;. We’ll edit our lay-out and display the new field in our cards.&lt;/p&gt;
&lt;h2 id="anki-note-lay-out"&gt;&lt;a class="toclink" href="#anki-note-lay-out"&gt;Anki Note Lay-out&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Lay-out&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Add the CSS code below to the shared …&lt;/p&gt;</summary><content type="html">&lt;div class="admonition note"&gt;
&lt;p class="admonition-title"&gt;2021 Update&lt;/p&gt;
&lt;p&gt;As of September 30, 2020, Sanseido &lt;a href="sanseido-publ.co.jp/sp/wbdct_close.html"&gt;stopped&lt;/a&gt; their web dictionary service. This tutorial is thus rendered obsolete. &lt;a href="https://kokugo.jitenon.jp/"&gt;Kokugo Jiten Online&lt;/a&gt; seems like a good alternative. I’ll look into updating the Sanseido add-on to use the above instead.&lt;/p&gt;
&lt;/div&gt;


&lt;p&gt;You’ve been studying Japanese for a while now and reached a level of Japanese adequate enough to understand (simple) texts. Drilling new vocabulary has become a daily routine so entangled in your lifestyle you barely notice anymore. If you were to describe your current level of proficiency, you’d proudly present yourself as an intermediate level learner. Sounds familiar? Let’s take it a notch further by adding Japanese definitions&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-1" id="fnref-1" rel="footnote"&gt;2&lt;/a&gt;&lt;/sup&gt; to our Anki-sets and reduce our dependency on English definition crutches!&lt;/p&gt;

&lt;p&gt;If you’ve followed my &lt;a href="#"&gt;previous tutorial&lt;/a&gt; on adding Japanese example sentences to your vocabulary cards, this tutorial will feel very similar: we’ll install an Anki add-on, alter our card-layout to display the definitions in a fashionable manner, and finally bulk-edit our existing cards to actually add them. (This might be my first tutorial worthy of the header &lt;strong&gt;quick&lt;/strong&gt;).&lt;/p&gt;
&lt;h1 id="sanseido-add-on"&gt;&lt;a class="toclink" href="#sanseido-add-on"&gt;Sanseido add-on&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;There are various online monolingual dictionaries for Japanese vocabulary. I personally like &lt;a href="http://www.weblio.jp"&gt;Weblio&lt;/a&gt; and &lt;a href="http://dictionary.goo.ne.jp/"&gt;Goo&lt;/a&gt;, but for our Anki cards we’ll use &lt;a href="http://www.sanseido.net/"&gt;Sanseido&lt;/a&gt; - their definitions are usually more concise as the other dictionaries and tend to employ more comprehensible vocabulary. Luck has it someone has already written an anki add-on to serve our blog’s purpose. The result of our work will look as follows:&lt;/p&gt;
&lt;p&gt;&lt;img alt="anki-gyakuten" class="fborder fcenter" src="https://steviepoppe.net/images/anki/anki-gyakuten.jpg" title="anki-gyakuten"/&gt;&lt;/p&gt;
&lt;h2 id="download"&gt;&lt;a class="toclink" href="#download"&gt;Download&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The &lt;strong&gt;Sanseido Definitions&lt;/strong&gt; add-on has a page on Ankiweb’s &lt;a href="https://ankiweb.net/shared/info/1967553085"&gt;plug-in page&lt;/a&gt;, but as usual we’ll install the plug-in using the Desktop Anki application. Go to &lt;strong&gt;Tools&lt;/strong&gt; → &lt;strong&gt;Add-ons&lt;/strong&gt; → &lt;strong&gt;Browse &amp;amp; Install&lt;/strong&gt;, and copy-paste &lt;strong&gt;1967553085&lt;/strong&gt; in the pop-up dialog. Restart the application to complete the installation.&lt;/p&gt;
&lt;h2 id="set-up"&gt;&lt;a class="toclink" href="#set-up"&gt;Set-up&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The note-types of the vocabulary you want Japanese definitions for will need a new field to contain the definition. On the desktop Anki application, press &lt;kbd&gt;CTRL-SHIFT-N&lt;/kbd&gt;, or click &lt;strong&gt;Tools&lt;/strong&gt; → &lt;strong&gt;Manage Note Types&lt;/strong&gt;, to enter the note-type management screen. Select the note-type of the cards you’d like to contain example sentences and click &lt;strong&gt;fields&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img alt="anki-notetype-select" class="fborder fcenter" src="https://steviepoppe.net/images/anki/anki-notetype-select.jpg" title="anki-notetype-select"/&gt;&lt;/p&gt;
&lt;p&gt;On the next screen, click &lt;strong&gt;add&lt;/strong&gt; and call the field &lt;code&gt;Sanseido&lt;/code&gt;. Now close this screen. On the previous note-type management screen, click &lt;strong&gt;cards&lt;/strong&gt;. We’ll edit our lay-out and display the new field in our cards.&lt;/p&gt;
&lt;h2 id="anki-note-lay-out"&gt;&lt;a class="toclink" href="#anki-note-lay-out"&gt;Anki Note Lay-out&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Lay-out&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Add the CSS code below to the shared style screen of your note’s card-type template.&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt;1&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;title&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="k"&gt;font-size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;16&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#999999&lt;/span&gt;&lt;span class="p"&gt;;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Templates&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Add the following code below the line displaying your vocabulary’s translation/English definition (eg. &lt;code&gt;{{Meaning}}&lt;/code&gt;) . You’ll do this in &lt;strong&gt;Expression&lt;/strong&gt; → &lt;strong&gt;Back Template&lt;/strong&gt;, &lt;strong&gt;Meaning&lt;/strong&gt; → &lt;strong&gt;Front Template&lt;/strong&gt; and &lt;strong&gt;Audio&lt;/strong&gt; → &lt;strong&gt;Back Template&lt;/strong&gt;.&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt;1&lt;/span&gt;
&lt;span class="normal"&gt;2&lt;/span&gt;
&lt;span class="normal"&gt;3&lt;/span&gt;
&lt;span class="normal"&gt;4&lt;/span&gt;
&lt;span class="normal"&gt;5&lt;/span&gt;
&lt;span class="normal"&gt;6&lt;/span&gt;
&lt;span class="normal"&gt;7&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;br&lt;/span&gt;&lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;{{#Sanseido}}
&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;br&lt;/span&gt;&lt;span class="p"&gt;/&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"japanese_meaning"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"title"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Japanese:&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;br&lt;/span&gt;&lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt; &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"japanese"&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"sanseido"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
{{furigana:Sanseido}}&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;br&lt;/span&gt;&lt;span class="p"&gt;/&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;br&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
{{/Sanseido}}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;hr/&gt;
&lt;h2 id="bulk-edit"&gt;&lt;a class="toclink" href="#bulk-edit"&gt;Bulk-edit&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Open Anki’s browser (by pressing &lt;kbd&gt;b&lt;/kbd&gt; or clicking &lt;strong&gt;Browse&lt;/strong&gt; from the main window). The left of this browser has an overview of all your different sets and tags. Select the deck or tag containing the cards you’d like to edit. Press &lt;kbd&gt;ctrl-a&lt;/kbd&gt; to select all of those and click &lt;strong&gt;Edit&lt;/strong&gt; → &lt;strong&gt;Regenerate Sanseido Expression&lt;/strong&gt;. It will crawl the internet for each new definition so this might take quite a while.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-2" id="fnref-2" rel="footnote"&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="anki-browser2" class="border fcenter" src="https://steviepoppe.net/images/anki/anki-browser2.jpg" title="anki-browser2"/&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: the plug-in expects your vocabulary to be contained in a field called &lt;code&gt;Word&lt;/code&gt;. If your field is called &lt;code&gt;Expression&lt;/code&gt;, you’ll have to edit this in the plug-in’s python file on your Anki’s add-on folder (e.g. &lt;code&gt;C:\Users\your_username\Documents\Anki\addons\sanseidoDefsForAnki.py&lt;/code&gt;). Open it with your text-editor of choice (notepad is fine) and change &lt;code&gt;expressionField = 'Word'&lt;/code&gt; to &lt;code&gt;expressionField = 'Expression'&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt;: as of July 2017, Sanseido’s domain changed from .net to .biz. As mentioned in the comments section, you’ll have to manually edit &lt;strong&gt;sanseidoDefsForAnki.py&lt;/strong&gt;, search for &lt;code&gt;sanseido.net&lt;/code&gt; and replace it with &lt;code&gt;sanseido.biz&lt;/code&gt; for it to work. Alternatively, replace the file with the one on my github repository linked below.&lt;/p&gt;
&lt;h1 id="usage-with-rikaisama-real-time-import"&gt;&lt;a class="toclink" href="#usage-with-rikaisama-real-time-import"&gt;Usage with Rikaisama / Real Time Import&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;As with my previous tutorial, a drawback to this plug-in is that it does not support vocabulary formatted to use &lt;em&gt;furigana&lt;/em&gt;, and neither can Japanese definitions be added automatically on adding a new note through Rikaisama. We’ll have to make some small adjustments for that.&lt;/p&gt;
&lt;p&gt;I’ve added the edited files on a &lt;a href="https://github.com/steviepoppe/anki_addon_edits/tree/master/jj_tutorial"&gt;new repository on my GitHub account&lt;/a&gt; so go ahead and replace the existing add-on files on your Anki’s add-on folder on your computer (e.g. &lt;code&gt;C:\Users\your_username\Documents\Anki\addons&lt;/code&gt;) with the ones on there. I’ve described all my edits below in case you’d prefer to do this manually. Feel free to skip this part if you’re not technically inclined.&lt;/p&gt;
&lt;h2 id="set-up_1"&gt;&lt;a class="toclink" href="#set-up_1"&gt;Set-up&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;sanseidoDefsForAnki.py&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;We’ve set up our notes to show &lt;em&gt;furigana&lt;/em&gt; on our vocabulary. This requires square brackets (eg. &lt;code&gt;気象庁[きしょうちょう]&lt;/code&gt;). The Anki plug-in for Sanseido definitions however does not support this out of the box. For that reason, I’ve added a single line of code that uses a regular expression to only use the contents up to the first square bracket as expression.&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt;1&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;term&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;re&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;search&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;r&lt;/span&gt;&lt;span class="s1"&gt;'^[^\[]+'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;term&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;group&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;If you’d like to edit this yourself, add the next line of code as first line in the &lt;code&gt;fetchDef&lt;/code&gt; class - it should be around line 27 (&lt;code&gt;def fetchDef(term):&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Real-Time_Import_for_use_with_the_Rikaisama_Firefox_Extension.py&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This extension calls on Anki’s API to create new notes. I haven’t found a way to hook japanese_examples to outside note-creation, so instead I’ve edited the real_time_import plug-in itself to call japanese_examples at run-time.&lt;/p&gt;
&lt;p&gt;First, we’ll have to import that extension to be able to call it’s methods. If you’re doing this set-up manually, add the next line near the top, with the other includes (around line 30).&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt;1&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;sanseidoDefsForAnki&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;Next, I’ve written a few lines in the &lt;code&gt;createNote&lt;/code&gt; method to call sanseidoDefsForAnki’s glossNote method at run-time and, if examples were found and our note-type has the correct destination field, add these to our newly created card. This should come before &lt;code&gt;dupOrEmpty = note.dupeOrEmpty()&lt;/code&gt; around line 100.&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt;1&lt;/span&gt;
&lt;span class="normal"&gt;2&lt;/span&gt;
&lt;span class="normal"&gt;3&lt;/span&gt;
&lt;span class="normal"&gt;4&lt;/span&gt;
&lt;span class="normal"&gt;5&lt;/span&gt;
&lt;span class="normal"&gt;6&lt;/span&gt;
&lt;span class="normal"&gt;7&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="c1"&gt;# Create sanseido definitions&lt;/span&gt;
&lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;glossNote&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="n"&gt;note&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;except&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;showTooltip&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"Error, could not create sanseido definition."&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;note&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;flush&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="k"&gt;except&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;showTooltip&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"Error, could not create sanseido definition."&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;h2 id="contextualizing-imported-cards"&gt;&lt;a class="toclink" href="#contextualizing-imported-cards"&gt;Contextualizing imported cards&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;If you’ve followed above steps, every time you add a new word online by pressing &lt;kbd&gt;r&lt;/kbd&gt; (the &lt;em&gt;Real-Time Import&lt;/em&gt; key) while hovering over something Japanese, it’ll automatically contain a Sanseido dictionary definition as well.&lt;/p&gt;
&lt;p&gt;Try it out on this article’s “&lt;strong&gt;Words of the Day&lt;/strong&gt;”!&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt;1&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;{{逆転(ぎゃくてん)}} | {{裁判(さいばん)}}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;h1 id="download-example-set"&gt;&lt;a class="toclink" href="#download-example-set"&gt;Download Example Set&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;As usual, I’ve exported my own Anki copy of this tutorial and uploaded it in case you’d like to compare or save yourself the work of editing the note template yourself. It includes work from the previous two tutorials.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Download&lt;/strong&gt;: &lt;a href="https://www.dropbox.com/s/9wrpciaawfxeuo5/Rikai%20vocab_jj.apkg?dl=0"&gt;Example set Sanseido &lt;i class="icon-download-alt"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id="wait-there-is-more"&gt;&lt;a class="toclink" href="#wait-there-is-more"&gt;Wait! There is more!&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;The main goal of this post was to introduce another less known, yet highly useful Anki functionality for increasing your study efficiency, as well as hopefully create an attitude of self-reliability by pointing out various tools and possibilities. If there are any further questions, feel free to check out the other articles in this series on Anki or to leave a comment below.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://steviepoppe.net/blog/2016/09/a-quick-guide-on-using-anki-effectively-in-an-academic-context/"&gt; A &lt;del&gt;Quick&lt;/del&gt; Guide on Using Anki (effectively) (in an academic context)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://steviepoppe.net/blog/2016/09/a-quick-guide-on-using-anki-2-an-efficient-vocab-mining-set-up-with-anki-and-rikaisama/"&gt;Setting up a perfect vocab-mining environment with Anki and Rikaisama&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://steviepoppe.net/blog/2016/09/a-quick-guide-on-using-anki-3-contextualize-your-vocab-cards-with-example-sentences/"&gt;Using Anki’s API to contextualize your vocab cards with example sentences&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="footnote"&gt;
&lt;hr/&gt;
&lt;ol&gt;
&lt;li id="fn-footnote"&gt;
&lt;p&gt;Image taken from the 2012 Japanese animated film Wolf Children by Mamoru Hosoda, used under Fair Use doctrine. &lt;a class="footnote-backref" href="#fnref-footnote" title="Jump back to footnote 1 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-1"&gt;
&lt;p&gt;Google &lt;code&gt;Anki JJ&lt;/code&gt; and you’ll come across dozens of posts describing the “&lt;em&gt;leap from the J-E to J-J dictionary&lt;/em&gt;”. It appears to be one of the more popular studying methods amongst self learners online, and is highly blogged about on such blogs as &lt;a href="http://japaneselevelup.com/beating-the-anki-j-j-branches-1-earn-your-battle-scars/"&gt;Japaneselevelup.com&lt;/a&gt; or on the koohii.com forums. &lt;a class="footnote-backref" href="#fnref-1" title="Jump back to footnote 2 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-2"&gt;
&lt;p&gt;It takes a couple of seconds for one card. At time of writing, I had 20761 cards based on the Rikai note type; parsing these took about an hour and a half. &lt;a class="footnote-backref" href="#fnref-2" title="Jump back to footnote 3 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="Studies"></category><category term="Anki"></category><category term="Tutorial"></category><category term="Japanese"></category><category term="Studying"></category></entry><entry><title>Travels: a week in Transylvania</title><link href="https://steviepoppe.net/blog/2016/09/travels-a-week-in-transylvania/" rel="alternate"></link><published>2016-09-24T00:00:00+02:00</published><updated>2016-09-24T00:00:00+02:00</updated><author><name>Stevie Poppe</name></author><id>tag:steviepoppe.net,2016-09-24:/blog/2016/09/travels-a-week-in-transylvania/</id><summary type="html">
&lt;p&gt;With the academic school year rapidly approaching, we decided on a short last-minute trip abroad and booked tickets to Romania. We spent spent a week,traveling through the historic region of Transylvania, commonly associated with vampire folklore, and situated between the imposing Carpathian mountains. A rich history, ranging from a feudal agricultural culture to a post-war communist regime and following shift to a capitalist mode of production, leaves a very layered culture represented in all aspects from architecture to national mentality. This short blog covers our itinerary, with plenty of pictures to go along with it.&lt;/p&gt;
&lt;h1 id="brief-history"&gt;&lt;a class="toclink" href="#brief-history"&gt;Brief history &lt;i class="icon-history small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Historically, Transylvania, a traditionally more agricultural region, has been conquered by plenty of nations, including the Roman Empire, Bulgaria, Hungary, the Ottoman Empire and the Austro-Hungarian Empire until it’s disintegration following the first world war. Transylvania, as the rest of Romania, played an important role in European politics throughout the Interwar period, but suffered greatly through the second world war and the subsequent communist regime (1947 - 1989). The 1989 revolutions brought an end to Romanian Communist leader Ceausescu’s repressive regime&lt;sup&gt;&lt;/sup&gt; and led to the implementation of the free market as well as a 2007 accession to the European Union.&lt;/p&gt;
&lt;p&gt;The majority of the people are ethnically Romanian, but there’s a sizable Hungarian and Roma population as well. Especially the Romani people, an ethnic minority originating from northwestern India and historically serving as slaves in Romania, undergo plenty of discrimination both in Romania and throughout Europe, thus leaving them segregated and socially vulnerable.&lt;/p&gt;
&lt;h1 id="itinerary"&gt;&lt;a class="toclink" href="#itinerary"&gt;Itinerary &lt;i class="icon-plane small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;As “poor college students” without driver licenses, we relied heavily on public transport. Luckily, Romania has an excellent public transport system both within cities as throughout the country. Thus commuting through the city felt as easy as at home. Unfortunately, due to time issues, we had to cut several important destinations (such as Sighisoara) out of our trip.&lt;/p&gt;
&lt;h2 id="bucharest"&gt;&lt;a class="toclink" href="#bucharest"&gt;Bucharest&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;We arrived in Bucharest’s Otopeni airport on the 18&lt;sup&gt;th&lt;/sup&gt; of September and after a brief stroll through town headed to Gara de Nord train station for a train to Sinaia. As a West-European citizen, the contrasts were a bit surprising. Balkan and Latin architectural influences contradict strongly with the tight, functional soviet designs,&lt;sup&gt;&lt;/sup&gt; and even the more touristic access able historical center underwent heavy decay and is now mostly covered in graffiti.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/29865697296/in/album-72157673147829801/" title="Decayed building"&gt;&lt;img alt="Decayed building" src="https://c1.staticflickr.com/9/8129/29865697296_916f618502.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;a class="center border" href="https://www.flickr.com/photos/147061735@N04/29606361880/in/album-72157673147829801/" title="Constructivist architecture"&gt;&lt;img alt="Constructivist architecture" src="https://c1.staticflickr.com/9/8492/29606361880_02850fb836.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h2 id="sinaia"&gt;&lt;a class="toclink" href="#sinaia"&gt;Sinaia&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Sinaia is a quaint little town about an hour and …&lt;/p&gt;</summary><content type="html">

&lt;p&gt;With the academic school year rapidly approaching, we decided on a short last-minute trip abroad and booked tickets to Romania. We spent spent a week,traveling through the historic region of Transylvania, commonly associated with vampire folklore, and situated between the imposing Carpathian mountains. A rich history, ranging from a feudal agricultural culture to a post-war communist regime and following shift to a capitalist mode of production, leaves a very layered culture represented in all aspects from architecture to national mentality. This short blog covers our itinerary, with plenty of pictures to go along with it.&lt;/p&gt;

&lt;h1 id="brief-history"&gt;&lt;a class="toclink" href="#brief-history"&gt;Brief history &lt;i class="icon-history small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Historically, Transylvania, a traditionally more agricultural region, has been conquered by plenty of nations, including the Roman Empire, Bulgaria, Hungary, the Ottoman Empire and the Austro-Hungarian Empire until it’s disintegration following the first world war. Transylvania, as the rest of Romania, played an important role in European politics throughout the Interwar period, but suffered greatly through the second world war and the subsequent communist regime (1947 - 1989). The 1989 revolutions brought an end to Romanian Communist leader Ceausescu’s repressive regime&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-1" id="fnref-1" rel="footnote"&gt;2&lt;/a&gt;&lt;/sup&gt; and led to the implementation of the free market as well as a 2007 accession to the European Union.&lt;/p&gt;
&lt;p&gt;The majority of the people are ethnically Romanian, but there’s a sizable Hungarian and Roma population as well. Especially the Romani people, an ethnic minority originating from northwestern India and historically serving as slaves in Romania, undergo plenty of discrimination both in Romania and throughout Europe, thus leaving them segregated and socially vulnerable.&lt;/p&gt;
&lt;h1 id="itinerary"&gt;&lt;a class="toclink" href="#itinerary"&gt;Itinerary &lt;i class="icon-plane small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;As “poor college students” without driver licenses, we relied heavily on public transport. Luckily, Romania has an excellent public transport system both within cities as throughout the country. Thus commuting through the city felt as easy as at home. Unfortunately, due to time issues, we had to cut several important destinations (such as Sighisoara) out of our trip.&lt;/p&gt;
&lt;h2 id="bucharest"&gt;&lt;a class="toclink" href="#bucharest"&gt;Bucharest&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;We arrived in Bucharest’s Otopeni airport on the 18&lt;sup&gt;th&lt;/sup&gt; of September and after a brief stroll through town headed to Gara de Nord train station for a train to Sinaia. As a West-European citizen, the contrasts were a bit surprising. Balkan and Latin architectural influences contradict strongly with the tight, functional soviet designs,&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-2" id="fnref-2" rel="footnote"&gt;3&lt;/a&gt;&lt;/sup&gt; and even the more touristic access able historical center underwent heavy decay and is now mostly covered in graffiti.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/29865697296/in/album-72157673147829801/" title="Decayed building"&gt;&lt;img alt="Decayed building" src="https://c1.staticflickr.com/9/8129/29865697296_916f618502.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;a class="center border" href="https://www.flickr.com/photos/147061735@N04/29606361880/in/album-72157673147829801/" title="Constructivist architecture"&gt;&lt;img alt="Constructivist architecture" src="https://c1.staticflickr.com/9/8492/29606361880_02850fb836.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h2 id="sinaia"&gt;&lt;a class="toclink" href="#sinaia"&gt;Sinaia&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Sinaia is a quaint little town about an hour and half away from Bucharest and close to the medieval town of Brasov. As heavy focus is put on nature preservation and the weather was excellent, we spent most of our day hiking and enjoying our surroundings. We stayed the night in a cute inn near the center of the town, from where we had an excellent view.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/29865657846/in/album-72157673147829801/" title="Sinaia Skyline"&gt;&lt;img alt="Sinaia Skyline" src="https://c7.staticflickr.com/9/8385/29865657846_7b4c46bf09.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Sinaia’s monastery, built in 1695, contains two courtyards churches built in Byzantine style and is lovely indeed.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/29273564324/in/album-72157673147829801/" title="Sinaia Monastry"&gt;&lt;img alt="Sinaia Monastry" src="https://c5.staticflickr.com/6/5049/29273564324_53c1b3eac8.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Nearby the monastery is an impressive castle reminiscent of Disney castles. Peles Castle, built between 1875 - 1914, was designed in a neo-renaissance style combining different West-European architectural styles.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/29786745922/in/album-72157673147829801/" title="Peles Castle Courtyard"&gt;&lt;img alt="Peles Castle Courtyard" src="https://c3.staticflickr.com/6/5590/29786745922_6dace29ed1.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;a data-flickr-embed="true" href="https://www.flickr.com/photos/147061735@N04/29786748782/in/album-72157673147829801/" title="Peles Castle"&gt;&lt;img alt="Peles Castle" src="https://c7.staticflickr.com/9/8185/29786748782_85679bba40.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;We suffered heavy rainfall the moment we reached the monastery, which made photography a bit more difficult (although it did add to the general atmosphere). Unfortunately the way back down took about half an hour of walking through the equivalent of a small river and left our socks in an unspeakable state.&lt;/p&gt;
&lt;h2 id="brasov"&gt;&lt;a class="toclink" href="#brasov"&gt;Brasov&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Still soaked from our earlier trip, we left for the nearby medieval mountain resort city Brasov located between the Carpathian Mountains. We booked a small apartment near the historical center for about 5€ per person/per night. The price reflects the quality pretty well. This was our front door:&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/29817331051/in/album-72157673147829801/" title="Brasov appartment"&gt;&lt;img alt="Brasov appartment" src="https://c4.staticflickr.com/9/8713/29817331051_13c6cde6fd.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;We spent the first day in this town exploring. One of the most impressive sights in this town is the so called Black Church, a large Gothic church containing one of the largest organs in Eastern Europe. Lucky for us, weekly organ concerts are held during the summer months - something I hadn’t experienced yet.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/29274255623/in/album-72157673147829801/" title="Brasov Skyline"&gt;&lt;img alt="Brasov Skyline" src="https://c8.staticflickr.com/9/8276/29274255623_84bfd7d8b8.jpg"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/29274259133/in/album-72157673147829801/" title="Feeding Pidgeons"&gt;&lt;img alt="Feeding Pidgeons" src="https://c6.staticflickr.com/9/8559/29274259133_fb47dc07bf.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;a data-flickr-embed="true" href="https://www.flickr.com/photos/147061735@N04/29865663836/in/album-72157673147829801/" title="Brasov Main Square"&gt;&lt;img alt="Brasov Main Square" src="https://c5.staticflickr.com/6/5064/29865663836_4b7aca2e6c.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h2 id="bran-castle"&gt;&lt;a class="toclink" href="#bran-castle"&gt;Bran Castle&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;On our second day in Brasov, we took a short day-trip to the nearby village of Bran visiting the so-called Dracula’s Castle, an extremely imposing fortress with, despite any tangible relations with the historical figure of Vlad Tepes, a rich history nonetheless.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="tps://www.flickr.com/photos/147061735@N04/29273357384/in/album-72157673147829801/" title="Bran Castle"&gt;&lt;img alt="Bran Castle" src="https://c1.staticflickr.com/8/7479/29273357384_838d4cb6c8.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/29273347754/in/album-72157673147829801/" title="Bran Castle"&gt;&lt;img alt="Bran Castle" src="https://c3.staticflickr.com/9/8478/29273347754_329684374d.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;a class="center border" data-flickr-embed="true" href="https://www.flickr.com/photos/147061735@N04/29606340390/in/album-72157673147829801/" title="Bran Castle Courtyard"&gt;&lt;img alt="Bran Castle Courtyard" src="https://c7.staticflickr.com/9/8093/29606340390_9408aede06.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h2 id="sibiu"&gt;&lt;a class="toclink" href="#sibiu"&gt;Sibiu&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Sibiu, voted European Capital of Culture in 2007, represents Transylvanian Saxon culture and has one of the few German-only schools in Romania.&lt;/p&gt;
&lt;p&gt;We passed an orthodox church in the middle of a service and were drawn to the sound of a small orthodox choir chanting what appeared to be Russian Liturgical music. I’m not religious, but I do enjoy the ambiance of Gregorian or Russian Znamenny&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-3" id="fnref-3" rel="footnote"&gt;4&lt;/a&gt;&lt;/sup&gt; chants. Thanks to the church’s acoustics the music really came to life and made it quite a cool experience, even if I felt like an incredibly out-of-place blasphemer at the moment.&lt;/p&gt;
&lt;p&gt;Turned out September is opera month in Sibiu and this particular evening featured an opera-recital accompanied by piano and clarinet. Being a student meant we never had to pay over 2€ for any activity.&lt;/p&gt;
&lt;p&gt;As usual, large portions of the town were covered in juvenile graffiti. One of the more interesting and politically engaged examples however, designed as modern art project, resonated with me a bit:&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/29900696555/in/album-72157673147829801/" title="Political engaged graffiti"&gt;&lt;img alt="Political engaged graffiti" height="281" src="https://c4.staticflickr.com/6/5209/29900696555_9bb6179321.jpg" width="500"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“My GREAT_ friends a referendum will not separate us”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The historical and cultural center has plenty of noteworthy restaurants hidden in basements. We had some terrific traditional&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-4" id="fnref-4" rel="footnote"&gt;5&lt;/a&gt;&lt;/sup&gt; food at this place. It must be noted that like most things, food is incredibly cheap for western tourists, ranging around 7.5 - 10€ for a full course dinner including drinks.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/29817336571/in/album-72157673147829801/" title="Cavern Restaurant"&gt;&lt;img alt="Cavern Restaurant" src="https://c4.staticflickr.com/9/8044/29817336571_3aec6f254b.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;The ASTRA National Museum Complex is a large (one of the largest in Eastern Europe) open-air museum containing over 300 buildings in traditional Romanian folk style spread across several lakes. Unfortunately visiting at an off-season moment with bad weather meant relatively little to do, but it was worth the trip regardless.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/29900697775/in/album-72157673147829801/" title="Windmills"&gt;&lt;img alt="Windmills" src="https://c8.staticflickr.com/9/8223/29900697775_ff0f786396.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;a data-flickr-embed="true" href="https://www.flickr.com/photos/147061735@N04/29817515271/in/album-72157673147829801/" title="Astra Museum"&gt;&lt;img alt="Astra Museum" src="https://c8.staticflickr.com/9/8770/29817515271_4e136b7235.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h2 id="turda-salt-mine"&gt;&lt;a class="toclink" href="#turda-salt-mine"&gt;Turda Salt Mine&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The Turda Salt Mine is a hidden gem for tourists visiting Romania. The city of Turda has successfully transformed one of it’s old (first mentions are dated May 1, 1271) salt mines into the equivalent of a modern attraction park, going as far as including a ferris wheel at about 50 meters down underground.&lt;/p&gt;
&lt;p&gt;The deepest point, around 112 meters deep, contains an underground lake navigable by boat (one of the more memorable things I’ve done during travels so far) as well as some interesting architectural constructions.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/29273361754/in/album-72157673147829801/" title="Turda salt mines"&gt;&lt;img alt="Turda salt mines" src="https://c3.staticflickr.com/9/8128/29273361754_8db14266ca.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h2 id="cluj"&gt;&lt;a class="toclink" href="#cluj"&gt;Cluj&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Cluj-Napoca, the second most populous city in Romania and the official capital of Transylvania, was the final point of our trip. After the Turda Salt Mine trip, we spent some time strolling around until we took a night train back to Bucharest for our early flight back to Belgium.&lt;/p&gt;
&lt;h1 id="music"&gt;&lt;a class="toclink" href="#music"&gt;Music &lt;i class="icon-music small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;When traveling, I make it a habit of finding new music by listening to local radio stations or asking recommendations to people I meet in hostels or bars - It’s my own personal souvenir and sticks better in my mind than regular touristic souvenirs.&lt;/p&gt;
&lt;p&gt;This trip’s band is the Bucharest located &lt;strong&gt;Subcarpati&lt;/strong&gt;, a lovely blend of Romanian folk music and modern hip-hop beats.&lt;/p&gt;
&lt;p&gt;&lt;span class="videobox"&gt;
&lt;iframe allowfullscreen="" frameborder="0" height="390" mozallowfullscreen="" src="https://www.youtube.com/embed/t2IcvXBIBsg" webkitallowfullscreen="" width="640"&gt;
&lt;/iframe&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;h1 id="conclusion"&gt;&lt;a class="toclink" href="#conclusion"&gt;Conclusion &lt;i class="icon-smile small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Despite the brief stay and relatively lousy weather we had a great time traveling around. The historic communist mode of production and the post-soviet economic problems have left their mark both geographically as socially, making for some highly interesting and contrasting views; yet some of the more rural villages feel as if they came straight out of our image of medieval fairy-tales.&lt;/p&gt;
&lt;p&gt;We’ve never felt unsafe, despite an initial surprise in regards to the impact of ‘80’s era western media and its heavy influence in projecting eastern Europe and Soviet countries in a particular bad light. In regards to the people we talked with, there’s a strong mentality of kindness through actions over words as we’ve often noticed during moments of distress.&lt;/p&gt;
&lt;p&gt;Also, the food was &lt;strong&gt;terrific&lt;/strong&gt;.&lt;/p&gt;
&lt;h1 id="gallery"&gt;&lt;a class="toclink" href="#gallery"&gt;Gallery &lt;i class="icon-camera-retro small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;style&gt;.embed-container { position: relative; padding-bottom: 56.25%; padding-top: 30px; height: 0; overflow: hidden; max-width: 100%; height: auto; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }&lt;/style&gt;
&lt;div class="embed-container"&gt;&lt;iframe allowfullscreen="" frameborder="0" mozallowfullscreen="" msallowfullscreen="" oallowfullscreen="" src="https://www.flickr.com/photos/147061735@N04/sets/72157673147829801/player" webkitallowfullscreen=""&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;div class="footnote"&gt;
&lt;hr/&gt;
&lt;ol&gt;
&lt;li id="fn-footnote"&gt;
&lt;p&gt;Bran Castle by Stevie Poppe (&lt;a href="https://flic.kr/p/LAMBhm"&gt;https://flic.kr/p/LAMBhm&lt;/a&gt; - CC BY-SA 2.0) &lt;a class="footnote-backref" href="#fnref-footnote" title="Jump back to footnote 1 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-1"&gt;
&lt;p&gt;Ceausescu started of as a relatively progressive Communist leader, going so far to mix North Korean Juche and Maoist concepts while dismissing aspects of soviet ideology, but steadily became more extreme, leading to an oppressive regime and heavy conflicts with Russia’s soviet reformist Mikhail Gorbachev. Interestingly, after their arrest, Ceausescu and his wife were the last people to be executed in Romania before the abolition of capital punishment. &lt;a class="footnote-backref" href="#fnref-1" title="Jump back to footnote 2 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-2"&gt;
&lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/Constructivist_architecture"&gt;https://en.wikipedia.org/wiki/Constructivist_architecture&lt;/a&gt; &lt;a class="footnote-backref" href="#fnref-2" title="Jump back to footnote 3 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-3"&gt;
&lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/Znamenny_chant#Current_usage_and_related_traditions"&gt;https://en.wikipedia.org/wiki/Znamenny_chant#Current_usage_and_related_traditions&lt;/a&gt; &lt;a class="footnote-backref" href="#fnref-3" title="Jump back to footnote 4 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-4"&gt;
&lt;p&gt;Traditional Transylvanian food is generally a mixture of Hungarian and Romanian cooking. Read more: &lt;a href="https://www.lonelyplanet.com/romania/transylvania/travel-tips-and-articles/a-guide-to-romanian-cuisine"&gt;https://www.lonelyplanet.com/romania/transylvania/travel-tips-and-articles/a-guide-to-romanian-cuisine&lt;/a&gt; &lt;a class="footnote-backref" href="#fnref-4" title="Jump back to footnote 5 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="Personal"></category><category term="Romania"></category><category term="Transylvania"></category><category term="Travels"></category></entry><entry><title>A Quick Guide on Using Anki 3: contextualize your vocab cards with example sentences</title><link href="https://steviepoppe.net/blog/2016/09/a-quick-guide-on-using-anki-3-contextualize-your-vocab-cards-with-example-sentences/" rel="alternate"></link><published>2016-09-17T00:00:00+02:00</published><updated>2016-09-17T00:00:00+02:00</updated><author><name>Stevie Poppe</name></author><id>tag:steviepoppe.net,2016-09-17:/blog/2016/09/a-quick-guide-on-using-anki-3-contextualize-your-vocab-cards-with-example-sentences/</id><summary type="html">
&lt;p&gt;So you’ve followed &lt;a href="https://steviepoppe.net/blog/2016/09/a-quick-guide-on-using-anki-2-an-efficient-vocab-mining-set-up-with-anki-and-rikaisama/"&gt;my previous tutorial&lt;/a&gt; and set up this wonderful environment for creating vocabulary cards with audio and &lt;em&gt;furigana&lt;/em&gt; based on all kinds of Japanese text you find online. Yet, while studying your new set, you feel this nagging feeling deep down inside… There’s something missing, still… “&lt;em&gt;Hm, could it be…?&lt;/em&gt;”, you ponder quietly. &lt;strong&gt;Yes&lt;/strong&gt;. You need &lt;code&gt;Japanese example sentences for providing context to your vocab cards&lt;/code&gt;!&lt;/p&gt;
&lt;hr/&gt;

&lt;p&gt;One of the common pitfalls of learning Japanese vocabulary through Anki cards is memorizing them loose of context. Perhaps you’ve found yourself in a situation having no particular problems recalling vocabulary whilst reviewing your cards, but less so when confronted with real-life situations. If that sounds familiar, one way to counter this common problem would be to install an additional Anki add-on, and bring our vocab cards to a next level by adding Japanese example sentences and their translations. This blog offers an easy step-by-step tutorial on setting this up. Additionally, for those who’ve followed my previous tutorial, I add some extra code to combine the example sentence functions with the instant-import features of the Firefox plug-in Rikaisama.&lt;/p&gt;

&lt;h1 id="plug-in"&gt;&lt;a class="toclink" href="#plug-in"&gt;Plug-in&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;We’ll use an existing Anki add-on called &lt;strong&gt;Japanese Example Sentences&lt;/strong&gt; to add Japanese sentences taken from &lt;a href="https://tatoeba.org/eng/"&gt;Tatoeba.org&lt;/a&gt;, a “collaborative, open, free and even addictive” community on producing example sentences. The result of our work will look as follows:&lt;/p&gt;
&lt;p&gt;&lt;img alt="anki-contextcard" class="fborder fcenter" src="https://steviepoppe.net/images/anki/anki-contextcard.jpg" title="anki-contextcard"/&gt;&lt;/p&gt;
&lt;h2 id="download"&gt;&lt;a class="toclink" href="#download"&gt;Download&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The Japanese Example Sentences add-on has a page on Ankiweb’s &lt;a href="https://ankiweb.net/shared/info/2413435972"&gt;plug-in page&lt;/a&gt;, but as usual we’ll install the plug-in using the Desktop Anki application. Go to &lt;strong&gt;Tools&lt;/strong&gt; → &lt;strong&gt;Add-ons&lt;/strong&gt; → &lt;strong&gt;Browse &amp;amp; Install&lt;/strong&gt;, and copy-paste &lt;strong&gt;2413435972&lt;/strong&gt; in the pop-up dialog. Restart the application to complete the installation.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Edit&lt;/strong&gt;: as user &lt;em&gt;nwt&lt;/em&gt; mentioned in the comments, this example-set is fairly outdated. Follow &lt;a href="https://ankiweb.net/shared/info/2413435972"&gt;the instructions&lt;/a&gt; left in the plug-in’s comment section to update to the most recent set.&lt;/p&gt;
&lt;p&gt;If you want a test Anki deck to work with, I’ve uploaded an example set, the result of my previous Anki tutorial, containing the necessary notetype and two test-notes for download: &lt;a href="https://www.dropbox.com/s/xnj67hqj3cubfn2/Rikai%20vocab.apkg?dl=0"&gt;Example set Rikai &lt;i class="icon-download-alt"&gt;&lt;/i&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="set-up"&gt;&lt;a class="toclink" href="#set-up"&gt;Set-up&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The note-types of the vocabulary you want sentences for will need a new field to contain these. On the desktop Anki application, press &lt;kbd&gt;CTRL-SHIFT-N&lt;/kbd&gt;, or click &lt;strong&gt;Tools&lt;/strong&gt; → &lt;strong&gt;Manage Note Types&lt;/strong&gt;, to enter the note-type management screen. Select the note-type of the cards you’d like to contain example sentences and click &lt;strong&gt;fields&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img alt="anki-notetype-select" class="border fcenter" src="https://steviepoppe.net/images/anki/anki-notetype-select.jpg" title="anki-notetype-select"/&gt;&lt;/p&gt;
&lt;p&gt;On the next screen …&lt;/p&gt;</summary><content type="html">
&lt;p&gt;So you’ve followed &lt;a href="https://steviepoppe.net/blog/2016/09/a-quick-guide-on-using-anki-2-an-efficient-vocab-mining-set-up-with-anki-and-rikaisama/"&gt;my previous tutorial&lt;/a&gt; and set up this wonderful environment for creating vocabulary cards with audio and &lt;em&gt;furigana&lt;/em&gt; based on all kinds of Japanese text you find online. Yet, while studying your new set, you feel this nagging feeling deep down inside… There’s something missing, still… “&lt;em&gt;Hm, could it be…?&lt;/em&gt;”, you ponder quietly. &lt;strong&gt;Yes&lt;/strong&gt;. You need &lt;code&gt;Japanese example sentences for providing context to your vocab cards&lt;/code&gt;!&lt;/p&gt;
&lt;hr/&gt;

&lt;p&gt;One of the common pitfalls of learning Japanese vocabulary through Anki cards is memorizing them loose of context. Perhaps you’ve found yourself in a situation having no particular problems recalling vocabulary whilst reviewing your cards, but less so when confronted with real-life situations. If that sounds familiar, one way to counter this common problem would be to install an additional Anki add-on, and bring our vocab cards to a next level by adding Japanese example sentences and their translations. This blog offers an easy step-by-step tutorial on setting this up. Additionally, for those who’ve followed my previous tutorial, I add some extra code to combine the example sentence functions with the instant-import features of the Firefox plug-in Rikaisama.&lt;/p&gt;

&lt;h1 id="plug-in"&gt;&lt;a class="toclink" href="#plug-in"&gt;Plug-in&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;We’ll use an existing Anki add-on called &lt;strong&gt;Japanese Example Sentences&lt;/strong&gt; to add Japanese sentences taken from &lt;a href="https://tatoeba.org/eng/"&gt;Tatoeba.org&lt;/a&gt;, a “collaborative, open, free and even addictive” community on producing example sentences. The result of our work will look as follows:&lt;/p&gt;
&lt;p&gt;&lt;img alt="anki-contextcard" class="fborder fcenter" src="https://steviepoppe.net/images/anki/anki-contextcard.jpg" title="anki-contextcard"/&gt;&lt;/p&gt;
&lt;h2 id="download"&gt;&lt;a class="toclink" href="#download"&gt;Download&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The Japanese Example Sentences add-on has a page on Ankiweb’s &lt;a href="https://ankiweb.net/shared/info/2413435972"&gt;plug-in page&lt;/a&gt;, but as usual we’ll install the plug-in using the Desktop Anki application. Go to &lt;strong&gt;Tools&lt;/strong&gt; → &lt;strong&gt;Add-ons&lt;/strong&gt; → &lt;strong&gt;Browse &amp;amp; Install&lt;/strong&gt;, and copy-paste &lt;strong&gt;2413435972&lt;/strong&gt; in the pop-up dialog. Restart the application to complete the installation.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Edit&lt;/strong&gt;: as user &lt;em&gt;nwt&lt;/em&gt; mentioned in the comments, this example-set is fairly outdated. Follow &lt;a href="https://ankiweb.net/shared/info/2413435972"&gt;the instructions&lt;/a&gt; left in the plug-in’s comment section to update to the most recent set.&lt;/p&gt;
&lt;p&gt;If you want a test Anki deck to work with, I’ve uploaded an example set, the result of my previous Anki tutorial, containing the necessary notetype and two test-notes for download: &lt;a href="https://www.dropbox.com/s/xnj67hqj3cubfn2/Rikai%20vocab.apkg?dl=0"&gt;Example set Rikai &lt;i class="icon-download-alt"&gt;&lt;/i&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="set-up"&gt;&lt;a class="toclink" href="#set-up"&gt;Set-up&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The note-types of the vocabulary you want sentences for will need a new field to contain these. On the desktop Anki application, press &lt;kbd&gt;CTRL-SHIFT-N&lt;/kbd&gt;, or click &lt;strong&gt;Tools&lt;/strong&gt; → &lt;strong&gt;Manage Note Types&lt;/strong&gt;, to enter the note-type management screen. Select the note-type of the cards you’d like to contain example sentences and click &lt;strong&gt;fields&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img alt="anki-notetype-select" class="border fcenter" src="https://steviepoppe.net/images/anki/anki-notetype-select.jpg" title="anki-notetype-select"/&gt;&lt;/p&gt;
&lt;p&gt;On the next screen, click &lt;strong&gt;add&lt;/strong&gt; and call the field &lt;code&gt;Examples&lt;/code&gt;. Now close this screen. On the previous note-type management screen, click &lt;strong&gt;cards&lt;/strong&gt;. We’ll edit our lay-out and add the sentences in our actual cards.&lt;/p&gt;
&lt;h2 id="anki-note-lay-out"&gt;&lt;a class="toclink" href="#anki-note-lay-out"&gt;Anki Note Lay-out&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Add the code to the bottom of the middle lay-out screen. It’ll display the example sentences to the left of your cards.&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt;1&lt;/span&gt;
&lt;span class="normal"&gt;2&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;examples&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="k"&gt;font-size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;75&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;text-align&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;left&lt;/span&gt;&lt;span class="p"&gt;;}&lt;/span&gt;
&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;title&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="k"&gt;font-size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;16&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#999999&lt;/span&gt;&lt;span class="p"&gt;;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Back Template&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Add the following HTML code at the bottom of your different cards’ back templates. As pointed out in the comments, &lt;code&gt;lang="ja"&lt;/code&gt; serves to render characters correctly, rather than in simplified Chinese due Han unification.&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt;1&lt;/span&gt;
&lt;span class="normal"&gt;2&lt;/span&gt;
&lt;span class="normal"&gt;3&lt;/span&gt;
&lt;span class="normal"&gt;4&lt;/span&gt;
&lt;span class="normal"&gt;5&lt;/span&gt;
&lt;span class="normal"&gt;6&lt;/span&gt;
&lt;span class="normal"&gt;7&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;{{#Examples}}
&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;br&lt;/span&gt;&lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"examples"&lt;/span&gt; &lt;span class="na"&gt;lang&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"ja"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"title"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Sentences:&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;br&lt;/span&gt;&lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
{{furigana:Examples}}
&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
{{/Examples}}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;&lt;img alt="anki-notetype-back" class="fborder fcenter" src="https://steviepoppe.net/images/anki/anki-notetype-back.jpg" title="anki-notetype-back"/&gt;&lt;/p&gt;
&lt;p&gt;When done, close both this and the previous screen. Let’s try this plug-in out now!&lt;/p&gt;
&lt;h1 id="usage"&gt;&lt;a class="toclink" href="#usage"&gt;Usage&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="contextualizing-existing-cards"&gt;&lt;a class="toclink" href="#contextualizing-existing-cards"&gt;Contextualizing existing cards&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;We’ll start by adding example sentences to our existing cards (of the note type we’ve just edited). Press &lt;span class="keys"&gt;&lt;kbd class="key-b"&gt;B&lt;/kbd&gt;&lt;/span&gt; or click on “Browse” to open Anki’s Card Browser. The left of this browser has an overview of all your different sets and tags. Select the deck or tag containing the cards you’d like to edit. Press &lt;span class="keys"&gt;&lt;kbd class="key-control"&gt;Ctrl&lt;/kbd&gt;&lt;span&gt;+&lt;/span&gt;&lt;kbd class="key-a"&gt;A&lt;/kbd&gt;&lt;/span&gt; to select all of those and click &lt;strong&gt;Edit&lt;/strong&gt; → &lt;strong&gt;Bulk-add examples&lt;/strong&gt;. Most, if not all, should contain sexy new example sentences by now.&lt;/p&gt;
&lt;p&gt;&lt;img alt="anki-browser" class="fborder fcenter" src="https://steviepoppe.net/images/anki/anki-browser.jpg" title="anki-browser"/&gt;&lt;/p&gt;
&lt;h2 id="contextualizing-new-cards"&gt;&lt;a class="toclink" href="#contextualizing-new-cards"&gt;Contextualizing new cards&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;While creating a new card of a note-type that contains the &lt;strong&gt;Examples&lt;/strong&gt; field, the add-on will automatically fill in that field as soon as you’ve entered a Japanese expression in the &lt;strong&gt;Expression&lt;/strong&gt; field. No further set-up is required for this.&lt;/p&gt;
&lt;h1 id="usage-with-rikaisama-real-time-import"&gt;&lt;a class="toclink" href="#usage-with-rikaisama-real-time-import"&gt;Usage with Rikaisama / Real Time Import&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;A drawback to this plug-in is that it does not support vocab expressions using &lt;em&gt;furigana&lt;/em&gt;, and neither can example sentences be added automatically on adding a new note through Rikaisama. I’ve you’ve read my &lt;a href="https://steviepoppe.net/blog/2016/09/a-quick-guide-on-using-anki-2-an-efficient-vocab-mining-set-up-with-anki-and-rikaisama/"&gt;previous blogpost&lt;/a&gt;, you’ll probably want to to follow these next steps as well.&lt;/p&gt;
&lt;p&gt;I’ve made some adjustments to both the Anki Real-Time Import add-on and the Japanese_Examples add-on. I’ve added the edited files on a &lt;a href="https://github.com/steviepoppe/anki_addon_edits/tree/master/context_tutorial"&gt;new repository on my github&lt;/a&gt; so go ahead and replace the existing add-on files on your Anki’s add-on folder on your computer (e.g. &lt;code&gt;C:\Users\your_username\Documents\Anki\addons&lt;/code&gt;) with the ones on there.&lt;/p&gt;
&lt;p&gt;I’ve described all my edits below in case you’d prefer to do this manually. Feel free to skip this part if you’re not technically inclined.&lt;/p&gt;
&lt;h2 id="set-up_1"&gt;&lt;a class="toclink" href="#set-up_1"&gt;Set-up&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;japanese_examples.py&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;We’ve set up our notes to show &lt;em&gt;furigana&lt;/em&gt; on our vocabulary. This requires square brackets (e.g. &lt;code&gt;気象庁[きしょうちょう]&lt;/code&gt;). The anki plug-in for Japanese example sentences however does not support this out of the box. For that reason, I’ve added a regular expression to only use the contents up to the first square bracket as expression.&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt;1&lt;/span&gt;
&lt;span class="normal"&gt;2&lt;/span&gt;
&lt;span class="normal"&gt;3&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;searched&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;re&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;search&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;r&lt;/span&gt;&lt;span class="s1"&gt;'^[^\[]+'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;expression&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;searched&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;expression&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;searched&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;group&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;If you’d like to edit this yourself, add that piece of code to the &lt;code&gt;find_examples&lt;/code&gt; class right after it defined &lt;code&gt;examples&lt;/code&gt; as a list. it should be around line 139 (&lt;code&gt;def find_examples(expression, maxitems):&lt;/code&gt; &lt;code&gt;examples = []&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Real-Time_Import_for_use_with_the_Rikaisama_Firefox_Extension.py&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This extension calls on Anki’s API to create new notes. I haven’t found a way to hook Japanese_examples to external note-creation, so instead I’ve edited the &lt;em&gt;real_time_import&lt;/em&gt; plug-in itself to call japanese_examples at run-time.&lt;/p&gt;
&lt;p&gt;First, we’ll have to import the japanese_examples extension to be able to call its methods. If you’re doing this set-up manually, add the line below near the top, along with the other includes (around line 30).&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt;1&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;japanese_examples&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;Next, I’ve written a few lines in the &lt;code&gt;createNote&lt;/code&gt; method to call Japanese-examples’ find method at run-time and, if examples were found and our note-type has the correct destination field, add these to our newly created card. This should come before &lt;code&gt;dupOrEmpty = note.dupeOrEmpty()&lt;/code&gt; around line 100.&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt;1&lt;/span&gt;
&lt;span class="normal"&gt;2&lt;/span&gt;
&lt;span class="normal"&gt;3&lt;/span&gt;
&lt;span class="normal"&gt;4&lt;/span&gt;
&lt;span class="normal"&gt;5&lt;/span&gt;
&lt;span class="normal"&gt;6&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="c1"&gt;# for use with japanese examples&lt;/span&gt;
&lt;span class="n"&gt;examples&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;find_examples_multiple&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;note&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;MAX_PERMANENT&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# if field is empty and examples exist&lt;/span&gt;
&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;examples&lt;/span&gt; &lt;span class="ow"&gt;and&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;DEST_FIELD&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt;
    &lt;span class="n"&gt;note&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;DEST_FIELD&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;examples&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;Finally, I’ve edited the mark-up of the example sentences themselves to hide the English translations unless hovered above (or on press on smart phones). Locate the &lt;code&gt;examples.append&lt;/code&gt; call in the &lt;code&gt;find_examples&lt;/code&gt; method. You’ll want to replace it (I commented it out) with the line below. It’ll be around line 174.&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt;1&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;examples&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"&amp;lt;div id='eng_test'&amp;gt;&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s2"&gt;&amp;lt;span id='eng_sentence'&amp;gt;&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s2"&gt;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;"&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="nb"&gt;tuple&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;example&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;split&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="se"&gt;\t&lt;/span&gt;&lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)))&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;In the &lt;code&gt;find_examples_multiple&lt;/code&gt; method (around line 214), replace the current &lt;code&gt;return&lt;/code&gt; with the following line. We want only one break between example sentences.&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt;1&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="s2"&gt;"&amp;lt;br&amp;gt;"&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;join&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;examples&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;hr/&gt;
&lt;p&gt;&lt;strong&gt;Important!&lt;/strong&gt; For this to work, you’ll need to make an edit to your note template’s layout. As usual enter the note-type management screen by pressing &lt;span class="keys"&gt;&lt;kbd class="key-control"&gt;Ctrl&lt;/kbd&gt;&lt;span&gt;+&lt;/span&gt;&lt;kbd class="key-shift"&gt;Shift&lt;/kbd&gt;&lt;span&gt;+&lt;/span&gt;&lt;kbd class="key-n"&gt;N&lt;/kbd&gt;&lt;/span&gt;, or click &lt;strong&gt;Tools&lt;/strong&gt; → &lt;strong&gt;Manage Note Types&lt;/strong&gt;. Select the notetype of the cards you’d like to contain example sentences and click &lt;strong&gt;fields&lt;/strong&gt;. From there, select the &lt;code&gt;Rikai&lt;/code&gt; note, click &lt;strong&gt;cards&lt;/strong&gt; and add the following CSS code to the bottom of the shared lay-out screen in the middle.&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt;1&lt;/span&gt;
&lt;span class="normal"&gt;2&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="p"&gt;#&lt;/span&gt;&lt;span class="nn"&gt;eng_sentence&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="k"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;none&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;#&lt;/span&gt;&lt;span class="nn"&gt;eng_test&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nd"&gt;hover&lt;/span&gt; &lt;span class="p"&gt;#&lt;/span&gt;&lt;span class="nn"&gt;eng_sentence&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="k"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;inherit&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#eb4c42&lt;/span&gt;&lt;span class="p"&gt;;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;h1 id="new-usage"&gt;&lt;a class="toclink" href="#new-usage"&gt;New Usage&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="contextualizing-existing-cards_1"&gt;&lt;a class="toclink" href="#contextualizing-existing-cards_1"&gt;Contextualizing existing cards&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;If you’ve set up Rikaisama to include &lt;em&gt;‘rikai’&lt;/em&gt; as tag on new cards, this should be a breeze. Open Anki’s browser (by clicking &lt;strong&gt;Browse&lt;/strong&gt; or pressing &lt;span class="keys"&gt;&lt;kbd class="key-b"&gt;B&lt;/kbd&gt;&lt;/span&gt;), select the &lt;em&gt;rikai&lt;/em&gt; tag in the left column, and press &lt;span class="keys"&gt;&lt;kbd class="key-control"&gt;Ctrl&lt;/kbd&gt;&lt;span&gt;+&lt;/span&gt;&lt;kbd class="key-a"&gt;A&lt;/kbd&gt;&lt;/span&gt; to select all your cards. Next, click &lt;strong&gt;Edit&lt;/strong&gt; → &lt;strong&gt;Bulk-add examples&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id="contextualizing-imported-cards"&gt;&lt;a class="toclink" href="#contextualizing-imported-cards"&gt;Contextualizing imported cards&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;If you’ve followed above steps, every time you add a new word online by pressing &lt;span class="keys"&gt;&lt;kbd class="key-r"&gt;R&lt;/kbd&gt;&lt;/span&gt; (the &lt;em&gt;Real-Time Import&lt;/em&gt; key) while hovering over something Japanese, it’ll automatically contain example sentences as well.&lt;/p&gt;
&lt;p&gt;Try it out on our new “&lt;strong&gt;Words of the Day&lt;/strong&gt;“™!&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;span lang="ja"&gt;&lt;ruby&gt;&lt;rb&gt;文脈&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;ぶんみゃく&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;&lt;/span&gt; | &lt;span lang="ja"&gt;&lt;ruby&gt;&lt;rb&gt;語彙&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;ごい&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="download-example-set"&gt;&lt;a class="toclink" href="#download-example-set"&gt;Download Example Set&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;As usual, I’ve exported my own copy of this tutorial and uploaded it in case you’d like to compare or save yourself the work of editing the note template yourself.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Download&lt;/strong&gt;: &lt;a href="https://www.dropbox.com/s/2lq0d7cn2rqywih/Rikai%20vocab_context.apkg?dl=0"&gt;Example set Sentences &lt;i class="icon-download-alt"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id="wait-there-is-more"&gt;&lt;a class="toclink" href="#wait-there-is-more"&gt;Wait! There is more!&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;The main goal of this post was to introduce another less known, but highly useful, Anki functionality on increasing your study efficiency, as well as hopefully create an attitude of self-reliability by reaching out various tools and possibilities. If you’ve any further questions, feel free to check out the other articles in this series on Anki, or to leave a comment below.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://steviepoppe.net/blog/2016/09/a-quick-guide-on-using-anki-effectively-in-an-academic-context/"&gt; A &lt;del&gt;Quick&lt;/del&gt; Guide on Using Anki (effectively) (in an academic context)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://steviepoppe.net/blog/2016/09/a-quick-guide-on-using-anki-2-an-efficient-vocab-mining-set-up-with-anki-and-rikaisama/"&gt;Setting up a perfect vocab-mining environment with Anki and Rikaisama&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://steviepoppe.net/blog/2016/10/a-quick-guide-on-using-anki-4-making-the-switch-j-j-definitions-in-your-vocab-cards/"&gt;Making the switch: J-J definitions in your vocab cards&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id="further-reading"&gt;&lt;a class="toclink" href="#further-reading"&gt;Further reading&lt;/a&gt;&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://learnanylanguage.wikia.com/wiki/10000_Sentences"&gt;The 10 000 Sentences Method&lt;/a&gt;: one of the more popular online self-study methods seem to be the complete Japanese immersion (&lt;a href="http://learnanylanguage.wikia.com/wiki/AJATT"&gt;All Japanese All The Time&lt;/a&gt;) method and its 10 000 sentences style of learning: increasing the feel of a language by assimilating and internalizing 10 000 different sentences. To be honest, the arbitrary number of sentences and clickbaitfish descriptions make it pretty gimmicky (“&lt;em&gt;Learn Japanese in just 18 months&lt;/em&gt;!”&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-1" id="fnref-1" rel="footnote"&gt;2&lt;/a&gt;&lt;/sup&gt;), but its popularity should give some validity on the importance of example sentences in your vocab-learning.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="footnote"&gt;
&lt;hr/&gt;
&lt;ol&gt;
&lt;li id="fn-footnote"&gt;
&lt;p&gt;Image taken from the 2012 Japanese animated film Wolf Children by Mamoru Hosoda, used under Fair Use doctrine. &lt;a class="footnote-backref" href="#fnref-footnote" title="Jump back to footnote 1 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-1"&gt;
&lt;p&gt;I’ve read enough blogs on learning Japanese or language acquisition to come up with my own gimmicky clickbait articles as “&lt;em&gt;Use these methods to watch your Japanese learning abilities soar&lt;/em&gt;” or “&lt;em&gt;Break the Plateau: 10 easy tips to Master Japanese&lt;/em&gt;” and cash in on ads or selling e-books, but honestly I’m just some guy on the internet learning Japanese and occasionally blogging about cool, potentially useful features. Maybe if I actually sticked on studying instead of needlessly browsing the internet I could’ve actually made such claims, but no… It’s stronger as myself… &lt;a class="footnote-backref" href="#fnref-1" title="Jump back to footnote 2 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="Studies"></category><category term="Anki"></category><category term="Tutorial"></category><category term="Japanese"></category><category term="Studying"></category></entry><entry><title>Waarom Japanologie?</title><link href="https://steviepoppe.net/blog/2016/09/waarom-japanologie/" rel="alternate"></link><published>2016-09-14T00:00:00+02:00</published><updated>2016-09-14T00:00:00+02:00</updated><author><name>Stevie Poppe</name></author><id>tag:steviepoppe.net,2016-09-14:/blog/2016/09/waarom-japanologie/</id><summary type="html">
&lt;!-- PELICAN_START_SUMMARY --&gt;
&lt;p&gt;Zoals velen in mijn richting ontstond mijn interesse in Japan al op jonge leeftijd onder invloed van het zogenaamde &lt;a href="https://en.wikipedia.org/wiki/Cool_Japan"&gt;Cool Japan&lt;/a&gt;: de globale verspreiding van Japanse popcultuur (muziek, televisie, games, …) die sinds de jaren ‘80 geleidelijk aan begon door te sijpelen in ook onze nationale media. Het zou, zo blijkt, zelfs een interesse worden die zodanig groeide dat ik er jaren later mijn studiekeuze door liet beïnvloeden. Vaak krijg ik bij vermelding daarvan echter nog, zoals mijn klasgenoten ongetwijfeld kunnen beamen, een hoop verbaasde blikken toegesmeten en dus ook dé klassieke hamvraag voorgeschoteld: &lt;strong&gt;Waarom nu juist Japanologie&lt;/strong&gt;?&lt;/p&gt;

&lt;p&gt;Als tweedejaars werd ik eerder dit jaar gevraagd om op een opendeurdag van onze richting een kort woordje over mijn persoonlijke ervaringen met Japanologie aan de KU Leuven, waar ik aldos ook bovenstaande vraag probeerde te beantwoorden. Toch werd ik daarna door verschillende bezorgde ouders aangesproken met enkele niet geheel onterechte vragen als “&lt;em&gt;Ja maar, wat zijt ge daar nu mee?&lt;/em&gt;”, “&lt;em&gt;Leert ge dan enkel over Japan? Oeioei, is da ni héél beperkt?&lt;/em&gt;” en “&lt;em&gt;Is Japan nog wel relevant?&lt;/em&gt;”.&lt;/p&gt;
&lt;p&gt;Om beter de oorspronkelijke vraag “Waarom Japanologie?” te beantwoorden lijkt het mij het beste om te vertrekken vanuit juist die drie bovenstaande vragen:&lt;/p&gt;
&lt;h1 id="vragen"&gt;&lt;a class="toclink" href="#vragen"&gt;Vragen&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="japanologie-dan-leert-ge-enkel-over-japan-oeioei"&gt;&lt;a class="toclink" href="#japanologie-dan-leert-ge-enkel-over-japan-oeioei"&gt;“Japanologie? Dan leert ge enkel over Japan? Oeioei!”&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Als je naar &lt;a href="https://onderwijsaanbod.kuleuven.be/opleidingen/n/CQ_50268982.htm#activetab=diploma_omschrijving"&gt;de onderwijsaanbod-pagina van Japanologie&lt;/a&gt; aan de KU Leuven gaat krijg je het volgende te zien:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Bachelor in de taal- en regiostudies: japanologie (Leuven)&lt;/strong&gt;&lt;br/&gt;
&lt;em&gt;Bachelor of Arts&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;In de bacheloropleiding Japanologie bestudeer je in de eerste plaats het moderne Japans op een intensieve manier. De opleiding plaatst het Japans steeds centraal tegenover de achtergrond van de Japanse cultuur, geschiedenis, filosofie, economie en politiek. Je kiest een minor, wat je de mogelijkheid geeft om je eigen interesses beter in te werken in je studie.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Het spreekt voor zich dat de Japanse taal en theoretische vakken gericht op Japan centraal staan in onze richting, maar bovenstaande tekst zegt toch wat meer: Japanologie aan de KU Leuven is een onderdeel van taal- en regiostudies, en levert een &lt;em&gt;Bachelor of Arts&lt;/em&gt; op: een diploma binnen de geestes- of sociale wetenschappen. &lt;span data-pullquote="Concreter betekent dat dat een student Japanologie een hoop vaardigheden onder de knie hoort te krijgen die op eerste zicht geen rechtstreeks verband met Japan lijken te houden maar de student vormt om genuanceerder en meer kritisch te kijken naar niet enkel Japan, maar de hele wereld ."&gt;Concreter betekent dat dat een student Japanologie een hoop vaardigheden onder de knie hoort te krijgen die op eerste zicht geen rechtstreeks verband met Japan lijken te houden maar de student vormt om genuanceerder en meer kritisch te kijken naar niet enkel Japan, maar de hele wereld .&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Dat lijkt me ook logisch. Enkel kennis …&lt;/p&gt;</summary><content type="html">
&lt;!-- PELICAN_START_SUMMARY --&gt;
&lt;p&gt;Zoals velen in mijn richting ontstond mijn interesse in Japan al op jonge leeftijd onder invloed van het zogenaamde &lt;a href="https://en.wikipedia.org/wiki/Cool_Japan"&gt;Cool Japan&lt;/a&gt;: de globale verspreiding van Japanse popcultuur (muziek, televisie, games, …) die sinds de jaren ‘80 geleidelijk aan begon door te sijpelen in ook onze nationale media. Het zou, zo blijkt, zelfs een interesse worden die zodanig groeide dat ik er jaren later mijn studiekeuze door liet beïnvloeden. Vaak krijg ik bij vermelding daarvan echter nog, zoals mijn klasgenoten ongetwijfeld kunnen beamen, een hoop verbaasde blikken toegesmeten en dus ook dé klassieke hamvraag voorgeschoteld: &lt;strong&gt;Waarom nu juist Japanologie&lt;/strong&gt;?&lt;/p&gt;

&lt;p&gt;Als tweedejaars werd ik eerder dit jaar gevraagd om op een opendeurdag van onze richting een kort woordje over mijn persoonlijke ervaringen met Japanologie aan de KU Leuven, waar ik aldos ook bovenstaande vraag probeerde te beantwoorden. Toch werd ik daarna door verschillende bezorgde ouders aangesproken met enkele niet geheel onterechte vragen als “&lt;em&gt;Ja maar, wat zijt ge daar nu mee?&lt;/em&gt;”, “&lt;em&gt;Leert ge dan enkel over Japan? Oeioei, is da ni héél beperkt?&lt;/em&gt;” en “&lt;em&gt;Is Japan nog wel relevant?&lt;/em&gt;”.&lt;/p&gt;
&lt;p&gt;Om beter de oorspronkelijke vraag “Waarom Japanologie?” te beantwoorden lijkt het mij het beste om te vertrekken vanuit juist die drie bovenstaande vragen:&lt;/p&gt;
&lt;h1 id="vragen"&gt;&lt;a class="toclink" href="#vragen"&gt;Vragen&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="japanologie-dan-leert-ge-enkel-over-japan-oeioei"&gt;&lt;a class="toclink" href="#japanologie-dan-leert-ge-enkel-over-japan-oeioei"&gt;“Japanologie? Dan leert ge enkel over Japan? Oeioei!”&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Als je naar &lt;a href="https://onderwijsaanbod.kuleuven.be/opleidingen/n/CQ_50268982.htm#activetab=diploma_omschrijving"&gt;de onderwijsaanbod-pagina van Japanologie&lt;/a&gt; aan de KU Leuven gaat krijg je het volgende te zien:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Bachelor in de taal- en regiostudies: japanologie (Leuven)&lt;/strong&gt;&lt;br/&gt;
&lt;em&gt;Bachelor of Arts&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;In de bacheloropleiding Japanologie bestudeer je in de eerste plaats het moderne Japans op een intensieve manier. De opleiding plaatst het Japans steeds centraal tegenover de achtergrond van de Japanse cultuur, geschiedenis, filosofie, economie en politiek. Je kiest een minor, wat je de mogelijkheid geeft om je eigen interesses beter in te werken in je studie.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Het spreekt voor zich dat de Japanse taal en theoretische vakken gericht op Japan centraal staan in onze richting, maar bovenstaande tekst zegt toch wat meer: Japanologie aan de KU Leuven is een onderdeel van taal- en regiostudies, en levert een &lt;em&gt;Bachelor of Arts&lt;/em&gt; op: een diploma binnen de geestes- of sociale wetenschappen. &lt;span data-pullquote="Concreter betekent dat dat een student Japanologie een hoop vaardigheden onder de knie hoort te krijgen die op eerste zicht geen rechtstreeks verband met Japan lijken te houden maar de student vormt om genuanceerder en meer kritisch te kijken naar niet enkel Japan, maar de hele wereld ."&gt;Concreter betekent dat dat een student Japanologie een hoop vaardigheden onder de knie hoort te krijgen die op eerste zicht geen rechtstreeks verband met Japan lijken te houden maar de student vormt om genuanceerder en meer kritisch te kijken naar niet enkel Japan, maar de hele wereld .&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Dat lijkt me ook logisch. Enkel kennis van een bepaalde taal of wat feitenkennis van één bepaalde regio, losstaand van diens rol tegenover de rest van de wereld, lijkt me zonder vaardigheden om te kunnen vergelijken niet bijzonder veel waard. Ondertussen worden computers steeds efficiënter in het &lt;em&gt;instant&lt;/em&gt;-vertalen van zowel tekst als audio, en zijn er enorme digitale databanken met historische feiten die gratis geraadpleegd kunnen worden. Wat computers en software echter (nog) niet kunnen is het betekenis geven aan die data.  De vaardigheden die we tijdens onze studies leren zorgen er voor dat wij uiteindelijk die leegte kunnen invullen en aldus ook als een soort ambassadeur een culturele brug tussen de verschillende natiestaten kunnen vormen.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Enkele voorbeeldjes&lt;/strong&gt;: om de Japanse economie en politiek te kunnen begrijpen is het niet alleen belangrijk om op theoretisch vlak iets te weten over die velden, maar ook om de politieke en economische situatie uit de eigen leefwereld te begrijpen. Om ontwikkelingen in de Japanse hedendaagse pop-cultuur te begrijpen is het dan zeker weer niet mis om kennis te hebben over de historische ontwikkeling van (Japanse) literatuur, of om zich te verdiepen in antropologie, in ontwikkelingen in het terrein van geschiedschrijving, enzovoort.&lt;/p&gt;
&lt;p&gt;We kijken eens naar een verkort lijstje van zowel verplichte- als keuzevakken binnen de optie culturele minor&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-1" id="fnref-1" rel="footnote"&gt;2&lt;/a&gt;&lt;/sup&gt;. Vakken die rechtstreeks verband hebben met Japan of het Aziatisch continent (vakken als “Inleiding tot de Oost-Aziatische kunst”, vakken uit Sinologie, de Koreaanse taal, enzovoort) heb ik even weggelaten.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Verplichte vakken&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Inleiding tot de wijsbegeerte, Religie, zingeving en levensbeschouwing, Informatiekunde, Sociologie, Recht, Inleiding tot de sociale en culturele antropologie&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Optie Geschiedenis en Literatuur&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Inleiding tot de studie van de Europese literatuur en cultuur: na 1800, Geschiedenis van de nieuwe tijd, Geschiedenis van de middeleeuwen, Geschiedenis van de nieuwste tijd, Nederlandse letterkunde I: moderne literatuur, Algemene literatuurwetenschap I&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Andere keuzevakken&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Mediacultuur, Inleiding tot de beeldanalyse, Taalverwerving, Algemene taalwetenschap I, Inleiding tot de economie, Geschiedenis van Rusland, Inleiding tot de Slavische wereld, Consumer Behaviour, Academisch Nederlands, Human Rights, Economische ontwikkelingen van Japan, Griekse mythologie en godsdienst, Geschiedenis van de internationale betrekkingen, Hedendaagse politieke en sociale theorieën: marxistische en socialistische stromingen, Sanskriet, East-West Perspectives in Philosophy, Genderstudies&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;Een van onze docenten haalde in de eerste les van het vak “Ruimtelijke Organisatie van Japan” een metafoor aan die me sterk bijbleef: waar studenten aan richtingen binnen de exacte wetenschappen zich omhoog werken door een ladder te beklimmen binnen het eigen domein, worden studenten binnen studiedomeinen zoals Japanologie verwacht omhoog te klimmen door middel van het bouwen van een piramide. Elk nieuw veld waarover geleerd wordt representeert een nieuw bouwblok aan die pyramide. Door het bestuderen en beheersen van een  hoop verschillende velden (zij het nu politiek, geografie, literatuur of filosofie) creêert men paradoxaal juist een verdere specialisatie in de eigen richting.&lt;/p&gt;
&lt;p&gt;Deze stelling sluit naadloos aan bij de volgende vraag:&lt;/p&gt;
&lt;h2 id="wat-zijt-ge-daar-nu-mee"&gt;&lt;a class="toclink" href="#wat-zijt-ge-daar-nu-mee"&gt;“Wat zijt ge daar nu mee?”&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Het cliché gaat dat richtingen binnen Letteren, waartoe Japanologie behoort, het niet goed doen op de arbeidsmarkt. Met een verzwakte economie is er minder vraag naar dergelijke diplomas, en cijfers worden dan naar hartelust rond onze oren gesmeten: zo zouden bijvoorbeeld volgens &lt;a href="http://www.vacature.com/artikel/9-experts-over-de-marktwaarde-van-10-diploma-s"&gt;dit vacature.com artikel uit 2010&lt;/a&gt;, gebaseerd op cijfers van de VDAB, 25% van de afgestudeerden met een academische bachelor taal-en letterkunde nog steeds werkloos zijn na 1 jaar. Ook een &lt;a href="http://www.jobat.be/nl/artikels/welke-studies-leveren-je-na-een-jaar-nog-geen-werk-op/"&gt;recenter jobat.be artikel&lt;/a&gt; uit 2013 plaatst Masters in Oosterse talen en culturen als een slechte keuze. De werkelijkheid is uiteraard meer complex dan aangegeven. Uit diezelfde studie van de VDAB stond in 2011 één schoolverlater met een master in “Taal en regiostudies: Oude Nabije Oosten” geregistreerd. Diezelfde schoolverlater stond tevens na 1 jaar, in 2012, bij de VDAB geregistreerd als werkzoekende, waardoor het percentage werkzoekenden na 1 jaar binnen “T&amp;amp;R: Oude Nabije Oosten” op dat moment als 100% werd geclassificeerd. in 2014 waren er dan weer 3 schoolverlaters in die richting, die in 2015 niet stonden geregistreerd als werkzoekenden: een percentage van 0% werkloosheid bij afgestudeerden “T&amp;amp;R: Oude Nabije Oosten”.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-2" id="fnref-2" rel="footnote"&gt;3&lt;/a&gt;&lt;/sup&gt; De situatie is vergelijkbaar voor Japanologie (zie foto beneden), dus staar je zeker niet blind op dergelijke cijfers.&lt;/p&gt;
&lt;p&gt;&lt;img alt="cijfers_vdab_s" class="hwimportant fborder fcenter" src="https://steviepoppe.net/images/japanologie/cijfers_vdab_s.jpg" title="cijfers_vdab_s"/&gt;&lt;/p&gt;
&lt;p&gt;Uiteraard houdt de richting Japanologie aan de KU Leuven daar wel rekening mee. Een van de twee minors, de economische minor, richt zich sterk op het verwerven van economische vaardigheden rechtstreeks inzetbaar op de arbeidsmarkt.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-3" id="fnref-3" rel="footnote"&gt;4&lt;/a&gt;&lt;/sup&gt; Binnen Letteren heeft Japanologie een uitstekende reputatie op gebied van het verwerven van digitale geletterdheid, en sinds het schooljaar van 2016-2017 wordt ook de master Japanologie een tweejarige master, met meer nadruk op stages en het opbouwen van praktische vaardigheden. Daarnaast is het mogelijk om tijdens een van de masterjaren al een attest als leerkracht Japans te bemachtigen. Als laatste wordt het behalen van een extra diploma - een extra specialisatieveld - ook sterk aangemoedigd.&lt;/p&gt;
&lt;p&gt;Over ervaringen in de bedrijfswereld kan ik zelf nog niet meespreken. Wel lijkt mij, zoals in elke richting, het profileren tijdens de studiejaren en het kweken van extracurriculaire competenties iets dat zeker niet verwaarloosd mag worden. Waar ik eigenlijk eerder op wil focussen binnen de context van deze vraag is de waarde van onze richting (en andere richtingen binnen Letteren of zelfs breder, binnen &lt;em&gt;arts&lt;/em&gt;) niet op professioneel gebied, maar op persoonlijk gebied. Door het bestuderen van andere landen in al hun facetten, maar ook dankzij vakken als filosofie, antropologie, sociologie, enzovoort, leer je niet alleen meer over de wereld, maar ook over jezelf. Hoewel we gezien de neo-liberale waarden die gelden in onze maatschappij geneigd zijn te kijken naar de rechtstreekse toepassing van studies op de arbeidsmarkt, mogen we niet vergeten dat universiteiten meer nog een rol hebben in het ontwikkelingen van kritische, analytische denkers.&lt;/p&gt;
&lt;h2 id="is-japan-nog-wel-relevant"&gt;&lt;a class="toclink" href="#is-japan-nog-wel-relevant"&gt;“Is Japan nog wel relevant?”&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Enkele recente artikels over Japan die de Belgische mainstream media haalden&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-4" id="fnref-4" rel="footnote"&gt;5&lt;/a&gt;&lt;/sup&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.standaard.be/cnt/dmf20160808_02416281"&gt;Japanse keizer Akihito zinspeelt op aftreden&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.standaard.be/cnt/dmf20160527_02310378"&gt;President Obama bezoekt Hiroshima&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.standaard.be/cnt/dmf20150716_01779160"&gt;uitbreiding bevoegdheden Japans leger&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://sporza.be/cm/sporza/Rio-2016/Rio2016_opvallend/1.2750156"&gt;premier Abe verkleedt zich als Super Mario op slotceremonie in Rio&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Het klopt dat Japan niet meer wordt aanzien als het economisch powerhouse dat het ooit was, en sinds het barsten van een economische zeepbel vast lijkt te zitten in een langdurende recessie. Niettegenstaande blijft Japan de derde grootste economie van de wereld,&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-5" id="fnref-5" rel="footnote"&gt;6&lt;/a&gt;&lt;/sup&gt; en wordt Tokio, juist zoals Londen in Europa en New York in de Verenigde Staten, gezien als het ingangspunt in het Aziatisch continent. Weeral blijkt de werkelijkheid genuanceerder dan de overheersende stereotypes, en een sterkere focus wordt daarop gegeven in vakken zoals Japanse Politiek en Japanse Economie.&lt;/p&gt;
&lt;p&gt;Studenten Japanologie vandaag kiezen uiteraard ook niet langer uit dezelfde beweegredenen van studenten Japanologie 30 jaar geleden, die toen eerder economisch van aard neigden te zijn. De blijvende populariteit van de richting verraadt echter wel een aanhoudend belang en een niet onbelangrijke shift van economische naar culturele supermacht.&lt;/p&gt;
&lt;h1 id="conclusie"&gt;&lt;a class="toclink" href="#conclusie"&gt;Conclusie&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Er kunnen nog zoveel redenen voor- of tegen het volgen van Japanologie zijn, als je al gebeten bent door de Japan-microbe en je overtuigd bent dat dit de richting voor jou is zal het heel moeilijk worden om een andere richting met dezelfde passie en motivatie aan te vangen. Andere richtingen kunnen profijtelijkere carrièreopties opleveren, maar een richting als Japanologie biedt dan weer, hoe cliché het ook klinken mag, een heel andere soort rijkdom: die van persoonlijke verrijking. Het niet volgen van je hart, in functie van betere carrièreopties, kan leiden tot een spijt achteraf die niet meer in te halen valt.&lt;/p&gt;
&lt;p&gt;Niettemin, wees het nu een job in een Japans bedrijf in België, een functie ergens in Japan zelf, of zelfs iets geheel ongerelateerd aan de oorspronkelijke studies: een pad vind je zeker. Met een diploma Japanologie toon je niet alleen aan een hoop academische vaardigheden en een uitstekend aanpassingsvermogen te bezitten, maar meer nog, je hebt jezelf kunnen ontwikkelen tot een rijper persoon die analytisch en met nuance rondom zich kan kijken.Sterker nog, misschien hebben we in deze tijden van groeiende onverdraagzaamheid rondom ons zelfs juist méér Japanologen en mensen met een &lt;em&gt;Bachelor en/of Master in Arts&lt;/em&gt; nodig!&lt;/p&gt;
&lt;p&gt;Graag wil ik concluderen door te stellen dat mocht je toch kiezen voor Japanologie – ongeacht je oorspronkelijke beweegredenen –, en openstaat voor wat ik hiervoor beschreef, je in het gezelschap van gelijkgestemden enkele van de beste jaren in je leven kan beleven, juist zoals de voorbije twee jaar al voor mij bleken te zijn.&lt;/p&gt;
&lt;h1 id="meer-lezen"&gt;&lt;a class="toclink" href="#meer-lezen"&gt;Meer lezen?&lt;/a&gt;&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://nippaku.wordpress.com/2014/03/17/japanologie-aan-de-ku-leuven-wat-houdt-dat-nu-precies-in/"&gt;Nippaku: Japanologie aan de KU Leuven, wat houdt dat nu precies in?&lt;/a&gt;: gedetailleerde beschrijving van onze richting door een van mijn &lt;em&gt;senpai&lt;/em&gt;, zeker eens lezen!&lt;/li&gt;
&lt;li&gt;&lt;a href="http://japanologie.arts.kuleuven.be/nl"&gt;Japanse Studies, KU Leuven&lt;/a&gt;: de &lt;em&gt;homepage&lt;/em&gt; van onze richting, met allerlei informatie voor (potentiëel) nieuwe studenten.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="footnote"&gt;
&lt;hr/&gt;
&lt;ol&gt;
&lt;li id="fn-footnote"&gt;
&lt;p&gt;Fushimi Inari Shrine by Stevie Poppe (&lt;a href="https://flic.kr/p/M4Kdmk"&gt;https://flic.kr/p/M4Kdmk&lt;/a&gt; - CC BY-SA 2.0) &lt;a class="footnote-backref" href="#fnref-footnote" title="Jump back to footnote 1 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-1"&gt;
&lt;p&gt;De optie die ik zelf volg. Daarnaast is er ook een economische minor met een hoop verplichte en keuzevakken rond economie, maar daar ben ik minder in thuis. Een meer complete lijst van vakken staat op de &lt;a href="https://onderwijsaanbod.kuleuven.be/opleidingen/n/SC_51016902.htm"&gt;onderwijsaanbod pagina van KU Leuven&lt;/a&gt;. &lt;a class="footnote-backref" href="#fnref-1" title="Jump back to footnote 2 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-2"&gt;
&lt;p&gt;Cijfers gebaseerd op een grootschalig telling van de VDAB. Bekijk een interactieve grafiek over alle richtingen heen op: &lt;a href="https://www.vdab.be/trendsdoc/schoolverlaters/detail/default.shtml"&gt;https://www.vdab.be/trendsdoc/schoolverlaters/detail/default.shtml&lt;/a&gt; &lt;a class="footnote-backref" href="#fnref-2" title="Jump back to footnote 3 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-3"&gt;
&lt;p&gt;Aan de andere kant levert de culturele minor, met vakken rond Koreaanse geschiedenis, cultuur en taal, ook een eerste aanzet tot een Koreanologie in België. Naast Cool Japan kent ook Korea al een geruime tijd een sterke shift naar soft power met haar export van pop-cultuur, beter bekend als de Korean Wave. &lt;a class="footnote-backref" href="#fnref-3" title="Jump back to footnote 4 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-4"&gt;
&lt;p&gt;Met de hashtag &lt;code&gt;Japan&lt;/code&gt; lijken online kranten zelfs op dagelijkse basis te rapporteren over het land:  &lt;a href="http://www.standaard.be/tag/japan?page=1"&gt;http://www.standaard.be/tag/japan?page=1&lt;/a&gt; &lt;a class="footnote-backref" href="#fnref-4" title="Jump back to footnote 5 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-5"&gt;
&lt;p&gt;Volgend op de Verenigde Staten en China, en gevolgd door Duitsland, Groot-Britannië en Frankrijk. Meer: &lt;a href="https://en.wikipedia.org/wiki/List_of_countries_by_GDP_(nominal)"&gt;https://en.wikipedia.org/wiki/List_of_countries_by_GDP_(nominal)&lt;/a&gt; &lt;a class="footnote-backref" href="#fnref-5" title="Jump back to footnote 6 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="Studies"></category><category term="Japanologie"></category><category term="KU Leuven"></category></entry><entry><title>A Quick Guide on Using Anki 2: an efficient vocab mining set-up with Anki and Rikaisama</title><link href="https://steviepoppe.net/blog/2016/09/a-quick-guide-on-using-anki-2-an-efficient-vocab-mining-set-up-with-anki-and-rikaisama/" rel="alternate"></link><published>2016-09-08T00:00:00+02:00</published><updated>2016-09-08T00:00:00+02:00</updated><author><name>Stevie Poppe</name></author><id>tag:steviepoppe.net,2016-09-08:/blog/2016/09/a-quick-guide-on-using-anki-2-an-efficient-vocab-mining-set-up-with-anki-and-rikaisama/</id><summary type="html">&lt;p&gt;UPDATE 2018~: Rikaisama has been rendered obsolete since 2018 updates broke Firefox’ support of unsigned XUL-based add-ons. Nevertheless, this guide can still prove useful in two ways: further use of Rikaisama through XUL-supporting Firefox-derivatives such as Waterfox, Pale Moon and Basilisk, as well as the list of applications for Browser/Anki-integration listed in the second half of this guide. As I personally use Waterfox, I’ll refer to Waterfox as main option hereafter. Another option is to use Yomichan for Chrome, described &lt;a href="https://steviepoppe.net/blog/2019/04/a-quick-guide-on-using-anki-5-an-efficient-vocab-mining-set-up-with-anki-and-rikaisama-yomichan/"&gt;in this updated blog&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;So you want to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;i class="icon-check"&gt;&lt;/i&gt; read a Japanese novel without ending up crying yourself to sleep realizing you know &lt;em&gt;nothing&lt;/em&gt;, Jon Snow?&lt;/li&gt;
&lt;li&gt;&lt;i class="icon-check"&gt;&lt;/i&gt; learn Japanese by watching anime, but like, for real?&lt;/li&gt;
&lt;li&gt;&lt;i class="icon-check"&gt;&lt;/i&gt; create beautiful Anki sets filled with handpicked vocabulary, hidden &lt;em&gt;furigana&lt;/em&gt; reading-aids, AND crystal-clear audio pronunciations, all without spending days of mind-numbing copy-pasting?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Welcome to the lovely world of &lt;code&gt;Integrated Anki &amp;amp; Rikaisama&lt;/code&gt;!&lt;/p&gt;
&lt;hr/&gt;
&lt;p&gt;The hove-over Japanese dictionary plug-in &lt;strong&gt;Rikaichan&lt;/strong&gt; and its Chrome variant &lt;strong&gt;Rikaikun&lt;/strong&gt; have already been widely established as incredibly helpful tools for reading Japanese online. Nevertheless, one major function remained missing still: a seamless integration with Anki for efficient vocabulary mining. A recent expansion of the original Rikaichan, aptly named &lt;strong&gt;Rikaisama&lt;/strong&gt; (it’s a &lt;em&gt;pun&lt;/em&gt;!), adds several new features including communication with the Anki API, &lt;em&gt;Sanseido Web Dictionary&lt;/em&gt;‘s J-J dictionary definitions, access to &lt;em&gt;J-Pod101&lt;/em&gt;‘s audio-files,&lt;sup&gt;&lt;/sup&gt; and more.&lt;sup&gt;&lt;/sup&gt; Concretely, this means audio playback of tens of thousands of words and expressions as well as easy integration of new vocab into Anki. Despite these incredibly useful features, Rikaisama remains fairly  about. To counter that, this blog serves as a brief tutorial on setting up a Rikaisama/Anki environment as well as demonstrating some useful real-life use-cases.&lt;/p&gt;
&lt;h1 id="rikaisama"&gt;&lt;a class="toclink" href="#rikaisama"&gt;Rikaisama&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="download"&gt;&lt;a class="toclink" href="#download"&gt;Download&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Like Rikaichan, Rikaisama is a &lt;del&gt;Firefox&lt;/del&gt; Waterfox plugin, available for download on their &lt;a href="https://sourceforge.net/projects/rikaisama/files/"&gt;sourceforge download page&lt;/a&gt; (free, of course). If you’re an avid Chrome supporter, this one might be worth switching for.&lt;/p&gt;
&lt;p&gt;&lt;img alt="rikaisama" class="right" src="https://steviepoppe.net/images/anki/rikaisama.jpg" title="rikaisama"/&gt;&lt;/p&gt;
&lt;p&gt;After installation you’ll have two new buttons at your disposal, either already visible at the top-right of your menubar, or in &lt;del&gt;Firefox&lt;/del&gt; Waterfox’s toolbar.&lt;/p&gt;
&lt;p&gt;The left one activates Rikaisama. I just leave it permanently open. The right one switches the Rikaisama lookupbar. I don’t use this one often so I hide it in the toolbox myself, but for now we’ll need it to access Rikaisama’s settings. Open the toolbar and click the right-most icon to open …&lt;/p&gt;</summary><content type="html">&lt;p&gt;UPDATE 2018~: Rikaisama has been rendered obsolete since 2018 updates broke Firefox’ support of unsigned XUL-based add-ons. Nevertheless, this guide can still prove useful in two ways: further use of Rikaisama through XUL-supporting Firefox-derivatives such as Waterfox, Pale Moon and Basilisk, as well as the list of applications for Browser/Anki-integration listed in the second half of this guide. As I personally use Waterfox, I’ll refer to Waterfox as main option hereafter. Another option is to use Yomichan for Chrome, described &lt;a href="https://steviepoppe.net/blog/2019/04/a-quick-guide-on-using-anki-5-an-efficient-vocab-mining-set-up-with-anki-and-rikaisama-yomichan/"&gt;in this updated blog&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;So you want to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;i class="icon-check"&gt;&lt;/i&gt; read a Japanese novel without ending up crying yourself to sleep realizing you know &lt;em&gt;nothing&lt;/em&gt;, Jon Snow?&lt;/li&gt;
&lt;li&gt;&lt;i class="icon-check"&gt;&lt;/i&gt; learn Japanese by watching anime, but like, for real?&lt;/li&gt;
&lt;li&gt;&lt;i class="icon-check"&gt;&lt;/i&gt; create beautiful Anki sets filled with handpicked vocabulary, hidden &lt;em&gt;furigana&lt;/em&gt; reading-aids, AND crystal-clear audio pronunciations, all without spending days of mind-numbing copy-pasting?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Welcome to the lovely world of &lt;code&gt;Integrated Anki &amp;amp; Rikaisama&lt;/code&gt;!&lt;/p&gt;
&lt;hr/&gt;

&lt;p&gt;The hove-over Japanese dictionary plug-in &lt;strong&gt;Rikaichan&lt;/strong&gt; and its Chrome variant &lt;strong&gt;Rikaikun&lt;/strong&gt; have already been widely established as incredibly helpful tools for reading Japanese online. Nevertheless, one major function remained missing still: a seamless integration with Anki for efficient vocabulary mining. A recent expansion of the original Rikaichan, aptly named &lt;strong&gt;Rikaisama&lt;/strong&gt; (it’s a &lt;em&gt;pun&lt;/em&gt;!), adds several new features including communication with the Anki API, &lt;em&gt;Sanseido Web Dictionary&lt;/em&gt;‘s J-J dictionary definitions, access to &lt;em&gt;J-Pod101&lt;/em&gt;‘s audio-files,&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-1" id="fnref-1" rel="footnote"&gt;2&lt;/a&gt;&lt;/sup&gt; and more.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-2" id="fnref-2" rel="footnote"&gt;3&lt;/a&gt;&lt;/sup&gt; Concretely, this means audio playback of tens of thousands of words and expressions as well as easy integration of new vocab into Anki. Despite these incredibly useful features, Rikaisama remains fairly  about. To counter that, this blog serves as a brief tutorial on setting up a Rikaisama/Anki environment as well as demonstrating some useful real-life use-cases.&lt;/p&gt;

&lt;h1 id="rikaisama"&gt;&lt;a class="toclink" href="#rikaisama"&gt;Rikaisama&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="download"&gt;&lt;a class="toclink" href="#download"&gt;Download&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Like Rikaichan, Rikaisama is a &lt;del&gt;Firefox&lt;/del&gt; Waterfox plugin, available for download on their &lt;a href="https://sourceforge.net/projects/rikaisama/files/"&gt;sourceforge download page&lt;/a&gt; (free, of course). If you’re an avid Chrome supporter, this one might be worth switching for.&lt;/p&gt;
&lt;p&gt;&lt;img alt="rikaisama" class="right" src="https://steviepoppe.net/images/anki/rikaisama.jpg" title="rikaisama"/&gt;&lt;/p&gt;
&lt;p&gt;After installation you’ll have two new buttons at your disposal, either already visible at the top-right of your menubar, or in &lt;del&gt;Firefox&lt;/del&gt; Waterfox’s toolbar.&lt;/p&gt;
&lt;p&gt;The left one activates Rikaisama. I just leave it permanently open. The right one switches the Rikaisama lookupbar. I don’t use this one often so I hide it in the toolbox myself, but for now we’ll need it to access Rikaisama’s settings. Open the toolbar and click the right-most icon to open those (after we’re done, click the leftmost icon to deactivate the toolbar).&lt;/p&gt;
&lt;p&gt;&lt;img alt="rikaisamatool" class="border fcenter" src="https://steviepoppe.net/images/anki/rikaisamatool.png" title="rikaisamatool"/&gt;&lt;/p&gt;
&lt;p&gt;Rikaisama’s base settings are pretty self-explanatory, and I’ve left most of them to their default values. For our purpose, the Clipboard &amp;amp; Save and Anki tabs will be the most relevant.&lt;/p&gt;
&lt;h2 id="set-up"&gt;&lt;a class="toclink" href="#set-up"&gt;Set-up&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="http://rikaisama.sourceforge.net/"&gt;Rikaisama’s homepage&lt;/a&gt; contains a crude, bare-bones set-up guide covering the basics of linking Rikaisama with Anki. It does however expect technical knowledge of it’s readers, which I feel will averse some. I try to simplify things while still explaining &lt;em&gt;why&lt;/em&gt; we’re doing things, since it really is pretty easy to set-up. If you’d rather get straight to the point, just ignore the reasoning parts (or skip to &lt;a href="#usage"&gt;1.2.4. Usage&lt;/a&gt; to download a pre-made Anki-set with matching note-type: all you’ll have to do then is to change a few Rikaisama settings).&lt;/p&gt;
&lt;h3 id="anki"&gt;&lt;a class="toclink" href="#anki"&gt;Anki&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;First, Anki will need an additional add-on as well in order to allow real-time import. It’s ‘available’ at Ankiweb’s &lt;a href="https://ankiweb.net/shared/info/2512410601"&gt;plug-in page&lt;/a&gt;, although actual installation is done in-app. Open Anki on your desktop, go to &lt;strong&gt;Tools&lt;/strong&gt; → &lt;strong&gt;Add-ons&lt;/strong&gt; → &lt;strong&gt;Browse &amp;amp; Install&lt;/strong&gt;, and copy-paste &lt;strong&gt;2512410601&lt;/strong&gt; in the pop-up dialog.&lt;/p&gt;
&lt;p&gt;Now, we’ll create a new set to contain your Rikaisama-powered cards, a new note-type with fields corresponding to the info you’d like out of rikaisama, and finally a few card-types to test us on on visual recognition, on oral recognition, and on production.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-3" id="fnref-3" rel="footnote"&gt;4&lt;/a&gt;&lt;/sup&gt; Start by creating a new set, e.g. &lt;code&gt;rikai-vocab&lt;/code&gt;&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-4" id="fnref-4" rel="footnote"&gt;5&lt;/a&gt;&lt;/sup&gt;. On Windows, press &lt;kbd&gt;CTRL-SHIFT-N&lt;/kbd&gt;, or click &lt;strong&gt;Tools&lt;/strong&gt; → &lt;strong&gt;Manage Note Types&lt;/strong&gt;, to enter the note-type management screen. Click &lt;strong&gt;add&lt;/strong&gt;, then &lt;strong&gt;ok&lt;/strong&gt; on the next screen, to create a new note type. Call it &lt;code&gt;Rikai&lt;/code&gt; (do note my excellent graphical skills as seen in the screenshot below ( ͡° ͜ʖ ͡°) )!&lt;/p&gt;
&lt;p&gt;&lt;img alt="anki-notetypes-s" class="border fcenter" src="https://steviepoppe.net/images/anki/anki-notetypes-s.jpg" title="anki-notetypes-s"/&gt;&lt;/p&gt;
&lt;p&gt;Next, select the new Rikai note-type and click &lt;strong&gt;Fields&lt;/strong&gt;. We’ll rename the current front and backside as &lt;code&gt;Expression&lt;/code&gt; and &lt;code&gt;Meaning&lt;/code&gt;, and add two new Fields &lt;code&gt;Audio&lt;/code&gt; and &lt;code&gt;Notes&lt;/code&gt; (this one could be used for personal notes or example sentences). If you’re interested in pitch accents, add a fifth field &lt;code&gt;Pitch&lt;/code&gt;. Next, close this screen and click on &lt;strong&gt;Cards&lt;/strong&gt;. We’ll manage the different cards this note generates as well as it’s make-up.&lt;/p&gt;
&lt;p&gt;We’ll start with some basic layout. Add the following lines to the bottom of the middle Shared Style screen. For optimal learning, we’ll keep word readings in &lt;em&gt;kana&lt;/em&gt; as &lt;em&gt;furigana&lt;/em&gt; displayed on touch/hover. This way learners are less likely to use them as a crutch.&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt;1&lt;/span&gt;
&lt;span class="normal"&gt;2&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="nt"&gt;ruby&lt;/span&gt; &lt;span class="nt"&gt;rt&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="k"&gt;visibility&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;hidden&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nt"&gt;ruby&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nd"&gt;hover&lt;/span&gt; &lt;span class="nt"&gt;rt&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="k"&gt;visibility&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;visible&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;Next, click the &lt;code&gt;+&lt;/code&gt; button twice to create two more card-templates. Next, rename (by clicking &lt;strong&gt;More&lt;/strong&gt; → &lt;strong&gt;Rename&lt;/strong&gt;) templates &lt;strong&gt;Card 1&lt;/strong&gt;, &lt;strong&gt;Card 2&lt;/strong&gt; and &lt;strong&gt;Card 3&lt;/strong&gt; respectively as &lt;code&gt;Recognition&lt;/code&gt;, &lt;code&gt;Production&lt;/code&gt;, and &lt;code&gt;Audio&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Finally, let’s wrap up our Anki set-up by creating the actual card’s templates. Each card will question you on one field (the Japanese expression, the English translation and the Audio) and show the answer on the backside along with audio and any potential notes, if present. Your card’s templates should look as follows:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Recognition&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Front Template&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt;1&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="n"&gt;furigana&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;Expression&lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Back Template&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt; 1&lt;/span&gt;
&lt;span class="normal"&gt; 2&lt;/span&gt;
&lt;span class="normal"&gt; 3&lt;/span&gt;
&lt;span class="normal"&gt; 4&lt;/span&gt;
&lt;span class="normal"&gt; 5&lt;/span&gt;
&lt;span class="normal"&gt; 6&lt;/span&gt;
&lt;span class="normal"&gt; 7&lt;/span&gt;
&lt;span class="normal"&gt; 8&lt;/span&gt;
&lt;span class="normal"&gt; 9&lt;/span&gt;
&lt;span class="normal"&gt;10&lt;/span&gt;
&lt;span class="normal"&gt;11&lt;/span&gt;
&lt;span class="normal"&gt;12&lt;/span&gt;
&lt;span class="normal"&gt;13&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;{{FrontSide}}

&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;hr&lt;/span&gt; &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;answer&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;

{{Meaning}}
&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;br&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
{{Audio}}

{{#Notes}}
&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;br&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;br&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;b&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Notes:&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;b&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;br&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;{{furigana:Notes}}
{{/Notes}}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Production&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Front Template&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt;1&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="n"&gt;Meaning&lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Back Template&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt; 1&lt;/span&gt;
&lt;span class="normal"&gt; 2&lt;/span&gt;
&lt;span class="normal"&gt; 3&lt;/span&gt;
&lt;span class="normal"&gt; 4&lt;/span&gt;
&lt;span class="normal"&gt; 5&lt;/span&gt;
&lt;span class="normal"&gt; 6&lt;/span&gt;
&lt;span class="normal"&gt; 7&lt;/span&gt;
&lt;span class="normal"&gt; 8&lt;/span&gt;
&lt;span class="normal"&gt; 9&lt;/span&gt;
&lt;span class="normal"&gt;10&lt;/span&gt;
&lt;span class="normal"&gt;11&lt;/span&gt;
&lt;span class="normal"&gt;12&lt;/span&gt;
&lt;span class="normal"&gt;13&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;{{FrontSide}}

&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;hr&lt;/span&gt; &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;answer&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;

{{furigana:Expression}}
&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;br&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
{{Audio}}

{{#Notes}}
&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;br&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;br&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;b&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Notes:&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;b&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;br&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;{{furigana:Notes}}
{{/Notes}}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Audio&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Front Template&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt;1&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="n"&gt;Audio&lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Back Template&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt; 1&lt;/span&gt;
&lt;span class="normal"&gt; 2&lt;/span&gt;
&lt;span class="normal"&gt; 3&lt;/span&gt;
&lt;span class="normal"&gt; 4&lt;/span&gt;
&lt;span class="normal"&gt; 5&lt;/span&gt;
&lt;span class="normal"&gt; 6&lt;/span&gt;
&lt;span class="normal"&gt; 7&lt;/span&gt;
&lt;span class="normal"&gt; 8&lt;/span&gt;
&lt;span class="normal"&gt; 9&lt;/span&gt;
&lt;span class="normal"&gt;10&lt;/span&gt;
&lt;span class="normal"&gt;11&lt;/span&gt;
&lt;span class="normal"&gt;12&lt;/span&gt;
&lt;span class="normal"&gt;13&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;{{FrontSide}}

&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;hr&lt;/span&gt; &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;answer&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;

{{furigana:Expression}}
&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;br&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
{{Meaning}}

{{#Notes}}
&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;br&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;br&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;b&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Notes:&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;b&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;br&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;{{furigana:Notes}}
{{/Notes}}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;hr/&gt;
&lt;p&gt;If you added a fifth field &lt;strong&gt;Pitch&lt;/strong&gt;, add &lt;code&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;{{Pitch}}&lt;/code&gt; to the back templates of those cards.&lt;/p&gt;
&lt;h3 id="mapping"&gt;&lt;a class="toclink" href="#mapping"&gt;Mapping&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Now we’ll enter our Rikaisama settings on Firefox and ensure our newly created note-type’s fields match the ones in Rikaisama’s anki settings. You’ll have to make some adjustments in both the &lt;strong&gt;Anki&lt;/strong&gt; and &lt;strong&gt;Clipboard &amp;amp; Save&lt;/strong&gt; tabs, as documented below:&lt;/p&gt;
&lt;hr/&gt;
&lt;p&gt;&lt;strong&gt;Anki tab&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Save format&lt;/strong&gt;: &lt;code&gt;$d[$r]$t$n$t[sound:$a]&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Field names&lt;/strong&gt;: &lt;code&gt;Expression Meaning Audio&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you added the pitch field, this becomes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Save format&lt;/strong&gt;: &lt;code&gt;$d[$r]$t$n$t[sound:$a]$t$p&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Field names&lt;/strong&gt;:&lt;code&gt;Expression Meaning Audio Pitch&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Make sure to mark the save audio check-box &lt;i class="icon-check"&gt;&lt;/i&gt;.&lt;/p&gt;
&lt;p&gt;The &lt;strong&gt;field names&lt;/strong&gt; field is pretty forward, it contains the field names of the note we just created in Anki. The &lt;strong&gt;Save format&lt;/strong&gt; field however is a bit more complicated. It’ll contain &lt;em&gt;tokens&lt;/em&gt; or variables (similar to fields in your Anki note) available for each Japanese word hover-able through Rikaisama. Each field name must have both a corresponding token, marked by a dollar sign and a single letter (eg. &lt;code&gt;Expression&lt;/code&gt; → &lt;code&gt;$d&lt;/code&gt;) as well as a token for empty spaces in between. To get our &lt;em&gt;furigana&lt;/em&gt;, the &lt;em&gt;kana&lt;/em&gt; reading must be encapsulated next to our expression (eg. &lt;code&gt;$d[$r]&lt;/code&gt;). The &lt;code&gt;$a&lt;/code&gt; token contains just the MP3 filename. To get it to play in our cards, we require a correct format (e.g. &lt;code&gt;[sound:ちょうつがい - 蝶番.mp3]&lt;/code&gt;), hence the &lt;code&gt;[sound:$a]&lt;/code&gt;.&lt;/p&gt;
&lt;hr/&gt;
&lt;p&gt;&lt;strong&gt;Clipboard &amp;amp; Save tab&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Anki keeps all of its assets, like audio or images, in a specific folder. Thus, we’ll have to adjust the path these audiofiles are saved in rikaisama’s settings as well. On a clean Anki install on windows, this folder will probably be something like &lt;code&gt;C:\Users\your_name\Documents\Anki\anki_username\collection.media&lt;/code&gt;. When located, use that folder’s path for your &lt;strong&gt;Saved Audio&lt;/strong&gt; path.&lt;/p&gt;
&lt;p&gt;&lt;img alt="anki-rikai-clip-s" class="border fcenter" src="https://steviepoppe.net/images/anki/anki-rikai-clip-s.jpg" title="anki-rikai-clip-s"/&gt;&lt;/p&gt;
&lt;p&gt;We’ll also have to confirm our save format again in this tab. Just copy/paste the one you used in the other tab.&lt;/p&gt;
&lt;p&gt;I personally tag all rikai-created ankicards as such, this isn’t necessary but it might come of use in your Anki’s browser one day.&lt;/p&gt;
&lt;hr/&gt;
&lt;h3 id="dictionaries"&gt;&lt;a class="toclink" href="#dictionaries"&gt;Dictionaries&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;A final step in case you haven’t used Rikaichan before, is to install some dictionaries files, available at &lt;a href="http://www.polarcloud.com/getrcx/"&gt;Rikaichan’s homepage&lt;/a&gt;. I personally use the &lt;strong&gt;Japanese - Dutch&lt;/strong&gt;,&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-5" id="fnref-5" rel="footnote"&gt;6&lt;/a&gt;&lt;/sup&gt; &lt;strong&gt;Japanese English&lt;/strong&gt; and &lt;strong&gt;Japanese Names&lt;/strong&gt; dictionaries, and sort them in those order in Rikaisama’s configuration.&lt;/p&gt;
&lt;p&gt;&lt;img alt="rikaisamadict" class="border fcenter" src="https://steviepoppe.net/images/anki/rikaisamadict.jpg" title="rikaisamadict"/&gt;&lt;/p&gt;
&lt;h3 id="usage"&gt;&lt;a class="toclink" href="#usage"&gt;Usage&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Now let’s test our set-up!&lt;/p&gt;
&lt;p&gt;For Rikaisama to recognize which Anki set and which notes to use, we’ll have to open anki and enter our set every time we’re on hunting spree. If you get a mismatch error, just click &lt;strong&gt;add&lt;/strong&gt; and ensure that the selected type is &lt;code&gt;Rikai&lt;/code&gt; by clicking on the current type and selecting the proper one (just click close again afterwards).&lt;/p&gt;
&lt;p&gt;Hover over these two words. A rikai pop with definitions should appear.&lt;/p&gt;
&lt;p&gt;&lt;span lang="ja"&gt;&lt;ruby&gt;&lt;rb&gt;理解&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;りかい&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;&lt;/span&gt; | &lt;span lang="ja"&gt;&lt;ruby&gt;&lt;rb&gt;暗記&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;あんき&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;&lt;/span&gt; (I’m not obsessed, I swear~)&lt;/p&gt;
&lt;p&gt;Now, while still hovering over them, type &lt;kbd&gt;r&lt;/kbd&gt; (the &lt;em&gt;Real-Time Import&lt;/em&gt; key) to import these words into your set. Great! (Note that Rikaisama by default does not allow duplicates, so if you try to add an already added word, you’ll get an error message.)&lt;/p&gt;
&lt;p&gt;I’ve exported my own copy of this example and uploaded if you want to compare or save yourself the work of creating the note template manually:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Download&lt;/strong&gt;: &lt;a href="https://www.dropbox.com/s/xnj67hqj3cubfn2/Rikai%20vocab.apkg?dl=0"&gt;Example set Rikai &lt;i class="icon-download-alt"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If there’s one downside to this method, it’s that an audio reference will be added to your cards regardless if there’s a preexisting audio recording online. This is particularly the case with lesser known words or idioms: while reading Harry Potter I’ve added a few hundred of such cards. To remove these, just open Anki on your desktop computer and select &lt;strong&gt;Tools&lt;/strong&gt; → &lt;strong&gt;Control Media&lt;/strong&gt;. It will clear all the non-existent audio entries from your cards’ Audio fields. Afterwards, click &lt;strong&gt;Tools&lt;/strong&gt; → &lt;strong&gt;Empty Cards&lt;/strong&gt; to remove all the empty oral-recognition cards.&lt;/p&gt;
&lt;h1 id="appliances"&gt;&lt;a class="toclink" href="#appliances"&gt;Appliances&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="internet"&gt;&lt;a class="toclink" href="#internet"&gt;Internet&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;This one goes without saying as that’s pretty much the prime objective of this tutorial. If you’re a relatively new learner, NHK provides simplified news articles and videos at &lt;a href="http://www3.nhk.or.jp/news/easy/"&gt;NHK Easy News&lt;/a&gt;. I used these a lot near the end of my first year studying, and it’s a neat way to stay up to date with what’s going in Japan, or more generally in the world (frankly speaking in this time and age it’s best to arm yourself with knowledge anyway).&lt;/p&gt;
&lt;h2 id="novels"&gt;&lt;a class="toclink" href="#novels"&gt;Novels&lt;/a&gt;&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;span lang="ja"&gt;「言い方がまちがってるわ。ウィン、ガー・デイアム　レヴィ・オーサ。『ガー』と長一くきれいに言わなくちゃ」&lt;/span&gt;&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-6" id="fnref-6" rel="footnote"&gt;7&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id="jnovelformatter"&gt;&lt;a class="toclink" href="#jnovelformatter"&gt;JNovelFormatter&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href="http://forum.koohii.com/post-113458.html"&gt;JNovelFormatter&lt;/a&gt; is a neat little tool by the developer of Rikaisama&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-7" id="fnref-7" rel="footnote"&gt;8&lt;/a&gt;&lt;/sup&gt; that converts Japanese literature in .txt format into clean parsed HTML files. Layout is fairly customizable, although I think the original settings are easy on the eye as-is (I like dark backgrounds when reading for hours at a time, makes me feel less like I’m gazing straight into a light-bulb). End of sentence dots get turned into book-markable anchors so you won’t lose track of your progress.&lt;/p&gt;
&lt;p&gt;&lt;img alt="anki-jnovel" class="border fcenter" src="https://steviepoppe.net/images/anki/anki-jnovel.jpg" title="anki-jnovel"/&gt;&lt;/p&gt;
&lt;p&gt;I highly recommend this method! I’ve used this approach while reading &lt;em&gt;The Girl Who Leapt Through Time&lt;/em&gt; (&lt;span lang="ja"&gt;&lt;ruby&gt;&lt;rb&gt;時&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;とき&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;をかける&lt;ruby&gt;&lt;rb&gt;少女&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;しょうじょ&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;&lt;/span&gt;) during our &lt;span lang="ja"&gt;&lt;ruby&gt;&lt;rb&gt;読書&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;どくしょ&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;クラブ&lt;/span&gt;‘s book-reading sessions and just last week, as a kind of summer project, worked my way through the first &lt;em&gt;Harry Potter&lt;/em&gt; (a surprisingly high difficulty but I know the original by heart so that helped heaps context-wise).&lt;/p&gt;
&lt;p&gt;As for resources, there’s plenty to be found online. Light novels are commonly uploaded in text format and probably a good starting point for the more advanced learner.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-8" id="fnref-8" rel="footnote"&gt;9&lt;/a&gt;&lt;/sup&gt; I’ve heard &lt;em&gt;Zero no Tsukaima&lt;/em&gt; (&lt;span lang="ja"&gt;ゼロの&lt;ruby&gt;&lt;rb&gt;使魔&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;つかいま&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;&lt;/span&gt;) and &lt;em&gt;Kino no Tabi&lt;/em&gt; (&lt;span lang="ja"&gt;キノの&lt;ruby&gt;&lt;rb&gt;旅&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;たび&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;&lt;/span&gt;) are relatively easy reads, for example.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-9" id="fnref-9" rel="footnote"&gt;10&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;h3 id="aozora"&gt;&lt;a class="toclink" href="#aozora"&gt;Aozora&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href="http://www.aozora.gr.jp/"&gt;Aozora&lt;/a&gt;, pretty much the Japanese Gutenberg project, freely hosts tons of public-domain books online.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-10" id="fnref-10" rel="footnote"&gt;11&lt;/a&gt;&lt;/sup&gt; Check out Natsume Soseki’s classic Botchan as &lt;a href="http://www.aozora.gr.jp/cards/000148/files/752_14964.html"&gt;example&lt;/a&gt;. Their literary standards are a bit higher as the typical light novel so it’s quite an adjustment, but great for those who’re looking for easy-to-find, legally obtainable literature.&lt;/p&gt;
&lt;h2 id="anime"&gt;&lt;a class="toclink" href="#anime"&gt;Anime&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;A really cool concept recently released is Animelon’s multi-layer subtitled anime streaming web-app, akin to the &lt;a href="https://www.erin.ne.jp/en/"&gt;Erin’s Challenge&lt;/a&gt; video’s (except with arguably way more interesting content: as of date there are over 60 series hosted, mostly all big names ranging from more recent hits as SAO and Attack on Titan to classics as Fullmetal Alchemist: Brotherhood and Clannad).&lt;/p&gt;
&lt;p&gt;If I were to recommend one to start with, I might pick Clannad.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-11" id="fnref-11" rel="footnote"&gt;12&lt;/a&gt;&lt;/sup&gt; The high-school setting means relatively easy and casual vocabulary (as opposed to, for example, SAO’s highly technical and fantasy-related vocab you’ll barely ever encounter in real life), while the voice-acting’s pacing is calm enough to pick up as relative beginner, and devoid of difficult accents.&lt;/p&gt;
&lt;p&gt;Check out their video demonstration below to see the various possibilities:&lt;/p&gt;
&lt;p&gt;&lt;span class="videobox"&gt;
&lt;iframe allowfullscreen="" frameborder="0" height="390" mozallowfullscreen="" src="https://www.youtube.com/embed/meUmHCcjlcQ" webkitallowfullscreen="" width="640"&gt;
&lt;/iframe&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;What bothers me a bit is the legality of it all. They’re currently keeping this site up as proof-of-concept in search of potential buyers but meanwhile they’re hosting full series in HD quality “for educational purposes only”.&lt;/p&gt;
&lt;h2 id="gaming"&gt;&lt;a class="toclink" href="#gaming"&gt;Gaming&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;This one’s a bit tricky still. The new web-possibilities since the implementation of the latest HTML-standard, HTML5, have given rise to a broad range of games running natively in your browser without the need for additional clutter such as Adobe Flash. Visual novels, in particular, would be most suitable for our purpose considering the dense amount of words in each game. Unfortunately so far the online playable ones I’ve found were either already translated into English, or else of the early ’90s &lt;em&gt;abandonware&lt;/em&gt; &lt;em&gt;eroge&lt;/em&gt; kind, so not what I was looking for (you’ll easily find that online if that’s your cup of tea).&lt;/p&gt;
&lt;p&gt;Another option is to set up your gaming environment in such a way it enables you to use these features. There’s an active community of technically capable Japanese learners at &lt;a href="https://www.reddit.com/r/visualnovels/wiki/vnhooking"&gt;Reddit&lt;/a&gt; and &lt;a href="http://forum.koohii.com/thread-10386.html"&gt;Koohii&lt;/a&gt; who came up with such a thing. I’ve yet to try this myself, and honestly, it’s a bit bloated, but if you’re dying to play visual novels and learn Japanese at the same time, this’ll do the trick:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Get &lt;a href="http://sakuradite.com/wiki/en/vnr"&gt;Visual Novel Reader&lt;/a&gt;: it appears to be a mask to be run over an already installed visual novel, using OCR to capture Japanese text, parse it, and run it through some dictionaries (&lt;a href="http://sakuradite.com/wiki/en/VNR/Tutorial"&gt;Tutorial&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;Use the &lt;a href="https://addons.mozilla.org/nl/firefox/addon/furigana-inserter/"&gt;Furigana Inserter&lt;/a&gt; Firefox Plug-in to automatically copy-paste dialog from your clipboard, obtained dynamically through OCR by above means, to an empty Firefox screen.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;If you’re running Firefox and your game side-by-side you’ll be able to max up your visual novel ankisets in no time, just like this guy!&lt;/p&gt;
&lt;p&gt;&lt;span class="videobox"&gt;
&lt;iframe allowfullscreen="" frameborder="0" height="390" mozallowfullscreen="" src="https://www.youtube.com/embed/7djqr-RG26s" webkitallowfullscreen="" width="640"&gt;
&lt;/iframe&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;h1 id="wait-there-is-more"&gt;&lt;a class="toclink" href="#wait-there-is-more"&gt;Wait! There is more!&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;The main goal of this post was to introduce a less known, but highly useful, Anki functionality by linking Rikaisama’s excellent&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-12" id="fnref-12" rel="footnote"&gt;13&lt;/a&gt;&lt;/sup&gt; pop-up dictionary with Anki’s API, as well as show several possible appliances. If you’ve any further questions, feel free to check out the other articles in this series on Anki, or to leave a comment below.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://steviepoppe.net/blog/2016/09/a-quick-guide-on-using-anki-effectively-in-an-academic-context/"&gt;A &lt;del&gt;Quick&lt;/del&gt; Guide on Using Anki (effectively) (in an academic context)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://steviepoppe.net/blog/2016/09/a-quick-guide-on-using-anki-3-contextualize-your-vocab-cards-with-example-sentences/"&gt;Using Anki’s API to contextualize your vocab cards with example sentences&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://steviepoppe.net/blog/2016/10/a-quick-guide-on-using-anki-4-making-the-switch-j-j-definitions-in-your-vocab-cards/"&gt;Making the switch: J-J definitions in your vocab cards&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id="further-reading"&gt;&lt;a class="toclink" href="#further-reading"&gt;Further reading&lt;/a&gt;&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://ankiatts.appspot.com/"&gt;AwesomeTTS for Anki&lt;/a&gt;: My approach uses JapanesePod101’s vast audio library. Occasionally however I encounter words or expressions that have no native spoken audio recorded. If you want audio-completion, this open-source tool allows for text-to-speech in your Anki cards. I use this occasionally on full sentences or korean vocabulary, but the quality of the free TTS engines remains fairly primitive, so your mileage might vary.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.nihongonobaka.com/learn-japanese-through-video-games/"&gt;Learn Japanese Through Videogames&lt;/a&gt;: speaking of videogames, you could also look up videogame scripts (&lt;span lang="ja"&gt;セリフ&lt;ruby&gt;&lt;rb&gt;集&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;しゅう&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;&lt;/span&gt;) and vocab-mine from those. This guy wrote a decent blog on that. The recent Phoenix Wright spin-off &lt;em&gt;Dai Gyakuten Saiban&lt;/em&gt; (a series I’m particularly fond of) has yet to be confirmed to receive a western release, so I’ll have to brush up my legal vocab this way before playing.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="footnote"&gt;
&lt;hr/&gt;
&lt;ol&gt;
&lt;li id="fn-footnote"&gt;
&lt;p&gt;Image taken from the 2012 Japanese animated film Wolf Children by Mamoru Hosoda, used under Fair Use doctrine. &lt;a class="footnote-backref" href="#fnref-footnote" title="Jump back to footnote 1 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-1"&gt;
&lt;p&gt;A popular online language course podcast. They have podcasts ranging from newbie (mostly English) to upper intermediate (100% Japanese). I used to use these in the beginning as the added scripts are quite helpful for raising listening skills. The male, English speaking is notoriously difficult to stand, however, and despite most content being free, they have some iffy marketing techniques. Regardless, they recorded a dictionary’s worth of vocabulary in high quality audio for Jim Breen’s dictionary, so that’s hella cool. Read more: &lt;a href="http://blogs.japanesepod101.com/blog/2009/04/20/biggest-announcement-ever-edict-japanese-dictionary-now-with-audio-for-every-clip-must-hear"&gt;http://blogs.japanesepod101.com/blog/2009/04/20/biggest-announcement-ever-edict-japanese-dictionary-now-with-audio-for-every-clip-must-hear&lt;/a&gt; &lt;a class="footnote-backref" href="#fnref-1" title="Jump back to footnote 2 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-2"&gt;
&lt;p&gt;Other useful features include pitch order, updated frequency lists, and EPWING dictionary support if you’re into that. The full list is on their homepage. &lt;a class="footnote-backref" href="#fnref-2" title="Jump back to footnote 3 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-3"&gt;
&lt;p&gt;I’ll assume concepts like notes and types are somewhat clear to the reader. If not, I refer to that particular section of my previous Anki article &lt;a href="https://steviepoppe.net/blog/2016/09/a-quick-guide-on-using-anki-effectively-in-an-academic-context/#creating-your-first-set-and-cards"&gt;Creating your own cards… &lt;em&gt;Efficiently&lt;/em&gt;!&lt;/a&gt; for a more detailed guide on notes and setting up templates. &lt;a class="footnote-backref" href="#fnref-3" title="Jump back to footnote 4 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-4"&gt;
&lt;p&gt;I personally keep several sets containing &lt;em&gt;rikai-powered&lt;/em&gt; cards. A set for each new book I read, sets for vocab related to my studies, and a set for whatever I come across online. I do this to keep my priorities in check: during exams I give less priority to keeping up to date with my books/misc vocab. &lt;a class="footnote-backref" href="#fnref-4" title="Jump back to footnote 5 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-5"&gt;
&lt;p&gt;Courtesy of Leuven University’s very own Japanology department! More info on the Waran Jiten Japanese-Dutch dictionary at &lt;a href="http://japansnederlandswoordenboek.org/index.php/Hoofdpagina"&gt;http://japansnederlandswoordenboek.org/index.php/Hoofdpagina&lt;/a&gt; &lt;a class="footnote-backref" href="#fnref-5" title="Jump back to footnote 6 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-6"&gt;
&lt;p&gt;The single most satisfying scene from the Japanese edition of the first Harry Potter novel. &lt;a class="footnote-backref" href="#fnref-6" title="Jump back to footnote 7 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-7"&gt;
&lt;p&gt;Actually, this guy made a lot of surprisingly helpful tools for learning Japanese, including the more popular &lt;em&gt;subs2srs&lt;/em&gt; for creating Anki sets based on subtitles and video, and OCR Manga Reader, a manga reader with Rikaichan-like functionality using optical character recognition. Full list is at &lt;a href="http://rtkwiki.koohii.com/wiki/Community_Tools"&gt;http://rtkwiki.koohii.com/wiki/Community_Tools&lt;/a&gt; &lt;a class="footnote-backref" href="#fnref-7" title="Jump back to footnote 8 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-8"&gt;
&lt;p&gt;I’ll refrain from linking here as that’s legally gray territory. &lt;a class="footnote-backref" href="#fnref-8" title="Jump back to footnote 9 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-9"&gt;
&lt;p&gt;Then again, Joyce’s Ulysses is probably an easy read as well compared to the likes of Proust’s In Search of Lost Time, so I’ll come back to this statement when I’ve judged for myself. &lt;a class="footnote-backref" href="#fnref-9" title="Jump back to footnote 10 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-10"&gt;
&lt;p&gt;According to Wikipedia, they host over 10.000 works including both out-of-copyright works or those made freely available by the authors. Read more: &lt;a href="https://en.wikipedia.org/wiki/Aozora_Bunko"&gt;https://en.wikipedia.org/wiki/Aozora_Bunko&lt;/a&gt; &lt;a class="footnote-backref" href="#fnref-10" title="Jump back to footnote 11 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-11"&gt;
&lt;p&gt;If you’re watching Clannad: After Story afterwards, keep tissues at hand. &lt;a class="footnote-backref" href="#fnref-11" title="Jump back to footnote 12 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-12"&gt;
&lt;p&gt;Actually, while Rikaisama improves greatly upon Rikaichan, there’s still some features I’d like to see implemented such as the ability to display sanseido-mode J-J as well as default J-E at the same time, or to select which definition to ankify. The developer set up a &lt;a href="http://rikaisama.sourceforge.net/wishlist.html"&gt;to-do list&lt;/a&gt; of sorts, but as it’s a one-man hobbyist project I’ll expect these to be implemented rather slowly. &lt;a class="footnote-backref" href="#fnref-12" title="Jump back to footnote 13 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="Studies"></category><category term="Anki"></category><category term="Rikaisama"></category><category term="Tutorial"></category><category term="Japanese"></category><category term="Studying"></category></entry><entry><title>A Quick Guide on Using Anki (effectively) (in an academic context)</title><link href="https://steviepoppe.net/blog/2016/09/a-quick-guide-on-using-anki-effectively-in-an-academic-context/" rel="alternate"></link><published>2016-09-07T00:00:00+02:00</published><updated>2016-09-07T00:00:00+02:00</updated><author><name>Stevie Poppe</name></author><id>tag:steviepoppe.net,2016-09-07:/blog/2016/09/a-quick-guide-on-using-anki-effectively-in-an-academic-context/</id><summary type="html">
&lt;p&gt;Those who know me well might accuse me of preaching popular memorization tool &lt;strong&gt;Anki&lt;/strong&gt; as a revolution in studying, and they wouldn’t be that far off. Over the past year I have extensively integrated this software in my studies, with (to me personally) remarkable results in both productivity and academic grades. There are, however, some pitfalls for the casual user to take heed of, and getting the full benefit of your time requires cultivating a proper mindset. Considering the amounts of time I mention Anki abundantly on this site, I decided to write my own  &lt;del&gt;&lt;em&gt;short&lt;/em&gt;&lt;/del&gt; guide on setting up and using Anki efficiently, as well as describe how I’ve personally integrated Anki in my studies.&lt;/p&gt;
&lt;p&gt;Anyone with an interest in studying Japanese will surely have heard of Anki. It’s covered extensively on all major learning resources on-line, and the canonical self learner’s beginner path seems to be that of &lt;a href="https://en.wikipedia.org/wiki/Remembering_the_Kanji_and_Remembering_the_Hanzi#Heisig.27s_method"&gt;Heisig’s Kanji method&lt;/a&gt;, Tae Kim’s online &lt;a href="http://www.guidetojapanese.org/learn/grammar"&gt;Grammar Guide&lt;/a&gt;, and Core 2K/6K/10K,&lt;sup&gt;&lt;/sup&gt; all three heavily relying on Anki. Language acquisition certainly remains Anki’s most popular usage, although the software has become broad enough to find it’s way in various other branches (it’s become an integrated routine for medical students, for example, as well as math students thanks to LaTeX support). While it sounds like I’m being paid to advertise Anki, the application remains &lt;strong&gt;free and open source&lt;/strong&gt; (and if you don’t like synchronizing your Anki progress over Anki’s servers you could even set that up on your own as well).&lt;sup&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;h1 id="what-is-anki-why-is-anki-how-is-anki"&gt;&lt;a class="toclink" href="#what-is-anki-why-is-anki-how-is-anki"&gt;&lt;em&gt;What&lt;/em&gt; is Anki? &lt;em&gt;Why&lt;/em&gt; is Anki?! &lt;em&gt;How&lt;/em&gt; is Anki?!?&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;To recap: Anki is an extremely customizable application designed for memorization, available for free on nearly all the major devices&lt;sup&gt;&lt;/sup&gt; as well as being accessible online. Being able to study on the road (I commute by train, taking me up to three hours of total traveling time every day) and synchronizing your progress at home is a major boon on using your time practically.&lt;/p&gt;
&lt;p&gt;There are plenty of studies on methods for efficient learning, and not surprisingly, classic late-night cramming, along passive studying methods as extensive marking and rereading of texts don’t score very high. On the other hand, &lt;em&gt;&lt;code&gt;active recall testing&lt;/code&gt;&lt;/em&gt; (questioning yourself by actively trying to come up with the answer to a question) and &lt;em&gt;&lt;code&gt;spaced learning&lt;/code&gt;&lt;/em&gt; (spreading information absorption over long …&lt;/p&gt;</summary><content type="html">

&lt;p&gt;Those who know me well might accuse me of preaching popular memorization tool &lt;strong&gt;Anki&lt;/strong&gt; as a revolution in studying, and they wouldn’t be that far off. Over the past year I have extensively integrated this software in my studies, with (to me personally) remarkable results in both productivity and academic grades. There are, however, some pitfalls for the casual user to take heed of, and getting the full benefit of your time requires cultivating a proper mindset. Considering the amounts of time I mention Anki abundantly on this site, I decided to write my own  &lt;del&gt;&lt;em&gt;short&lt;/em&gt;&lt;/del&gt; guide on setting up and using Anki efficiently, as well as describe how I’ve personally integrated Anki in my studies.&lt;/p&gt;

&lt;p&gt;Anyone with an interest in studying Japanese will surely have heard of Anki. It’s covered extensively on all major learning resources on-line, and the canonical self learner’s beginner path seems to be that of &lt;a href="https://en.wikipedia.org/wiki/Remembering_the_Kanji_and_Remembering_the_Hanzi#Heisig.27s_method"&gt;Heisig’s Kanji method&lt;/a&gt;, Tae Kim’s online &lt;a href="http://www.guidetojapanese.org/learn/grammar"&gt;Grammar Guide&lt;/a&gt;, and Core 2K/6K/10K,&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-1" id="fnref-1" rel="footnote"&gt;2&lt;/a&gt;&lt;/sup&gt; all three heavily relying on Anki. Language acquisition certainly remains Anki’s most popular usage, although the software has become broad enough to find it’s way in various other branches (it’s become an integrated routine for medical students, for example, as well as math students thanks to LaTeX support). While it sounds like I’m being paid to advertise Anki, the application remains &lt;strong&gt;free and open source&lt;/strong&gt; (and if you don’t like synchronizing your Anki progress over Anki’s servers you could even set that up on your own as well).&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-2" id="fnref-2" rel="footnote"&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;h1 id="what-is-anki-why-is-anki-how-is-anki"&gt;&lt;a class="toclink" href="#what-is-anki-why-is-anki-how-is-anki"&gt;&lt;em&gt;What&lt;/em&gt; is Anki? &lt;em&gt;Why&lt;/em&gt; is Anki?! &lt;em&gt;How&lt;/em&gt; is Anki?!?&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;To recap: Anki is an extremely customizable application designed for memorization, available for free on nearly all the major devices&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-3" id="fnref-3" rel="footnote"&gt;4&lt;/a&gt;&lt;/sup&gt; as well as being accessible online. Being able to study on the road (I commute by train, taking me up to three hours of total traveling time every day) and synchronizing your progress at home is a major boon on using your time practically.&lt;/p&gt;
&lt;p&gt;There are plenty of studies on methods for efficient learning, and not surprisingly, classic late-night cramming, along passive studying methods as extensive marking and rereading of texts don’t score very high. On the other hand, &lt;em&gt;&lt;code&gt;active recall testing&lt;/code&gt;&lt;/em&gt; (questioning yourself by actively trying to come up with the answer to a question) and &lt;em&gt;&lt;code&gt;spaced learning&lt;/code&gt;&lt;/em&gt; (spreading information absorption over long periods of time) are considered key instruments.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-4" id="fnref-4" rel="footnote"&gt;5&lt;/a&gt;&lt;/sup&gt; Anki is an application that achieves both through timed flashcards. The concept is simple: the front of the card displays a question and the backside displays the answer. After showing the answer, you decide whether, and to what extent, you’ve passed. A highly optimized algorithm uses said information to determine the card’s next appearance.&lt;/p&gt;
&lt;h1 id="the-guide"&gt;&lt;a class="toclink" href="#the-guide"&gt;The Guide&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="setting-up"&gt;&lt;a class="toclink" href="#setting-up"&gt;Setting up!&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="download-install"&gt;&lt;a class="toclink" href="#download-install"&gt;Download &amp;amp; Install&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;img alt="anki-download" class="right" src="https://steviepoppe.net/images/anki/anki-download.png" title="anki-download"/&gt;&lt;/p&gt;
&lt;p&gt;Download the application for whatever system you’d like on &lt;a href="http://ankisrs.net/"&gt;Anki’s homepage&lt;/a&gt; and follow the installer’s steps. I highly recommend investing into a lower-end smart-phone if you don’t own one already and installing a mobile variant of Anki as well. Might be somewhat of a steep investment, but I believe it’s definitely worth the cost in the long run (not just for Anki but plenty of other learning tools such as dictionaries or OCR tools).&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-5" id="fnref-5" rel="footnote"&gt;6&lt;/a&gt;&lt;/sup&gt; Anki’s layout, especially the desktop application, is pretty bare-bones (although functional and self-explanatory enough to get used to in a couple of minutes).&lt;/p&gt;
&lt;h3 id="account-syncing"&gt;&lt;a class="toclink" href="#account-syncing"&gt;Account &amp;amp; Syncing&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;To synchronize your progress over different devices you’ll have to register an account on Anki’s &lt;a href="https://ankiweb.net/account/register"&gt;web service&lt;/a&gt; (I definitely encourage doing this regardless: just imagine the horror if your device breaks down after 3 years of having intensively studied thousands upon thousands of flashcards).&lt;/p&gt;
&lt;p&gt;&lt;img alt="ankiweb" class="border fcenter" src="https://steviepoppe.net/images/anki/ankiweb-reg.jpg" title="ankiweb"/&gt;&lt;/p&gt;
&lt;p&gt;On your desktop Anki, open &lt;strong&gt;Settings&lt;/strong&gt; → &lt;strong&gt;Preferences&lt;/strong&gt; from the menu, then select the &lt;strong&gt;Network&lt;/strong&gt; tab and insert your user credentials. From the Anki’s main menu, select the &lt;em&gt;syncing&lt;/em&gt; icon.&lt;/p&gt;
&lt;p&gt;Now do the same on your mobile device. On Ankidroid this is &lt;strong&gt;Settings&lt;/strong&gt; → &lt;strong&gt;AnkiDroid&lt;/strong&gt; → &lt;strong&gt;AnkiWeb Account&lt;/strong&gt;. Make sure the “&lt;strong&gt;Download Media&lt;/strong&gt;” check-box below “&lt;strong&gt;Synchronize&lt;/strong&gt;” is marked &lt;i class="icon-check"&gt;&lt;/i&gt;!&lt;/p&gt;
&lt;p&gt;Now try syncing from this device as well. If everything goes well, we’ll start with our first set right away.&lt;/p&gt;
&lt;p&gt;&lt;img alt="anki-ankipc-sync" class="border fcenter" src="https://steviepoppe.net/images/anki/ankipc-sync.jpg" title="anki-ankipc-sync"/&gt;&lt;/p&gt;
&lt;h2 id="creating-your-first-set-and-cards"&gt;&lt;a class="toclink" href="#creating-your-first-set-and-cards"&gt;Creating your first set and cards!&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;It’s best to consider Anki’s main interface as a container for your decks (also called sets) of flashcards. Aside from a filler deck called &lt;code&gt;Default&lt;/code&gt;, there’s no content as to speak of yet on a fresh install. Feel free to remove that one (set-specific options such as deletion are accessible through the icon on the right of each set). There’s a lot of pre-made content on the internet, but in order to get used to the interface and learn some of the base features, we’ll create a small set, set up a template for our notes, and create some cards &lt;em&gt;all by ourselves&lt;/em&gt;. Don’t worry if the terminology doesn’t make sense yet, we’ll cover that over this guide.&lt;/p&gt;
&lt;p&gt;To demonstrate, we’ll create a set containing some important dates, events and notables in Japanese history. Click the Create Set button in the bottom bar, and feel free to name it something along &lt;code&gt;Japanese History 101&lt;/code&gt;. We’ll create two more sets, &lt;code&gt;0 - Important dates&lt;/code&gt; and &lt;code&gt;1 - Meiji&lt;/code&gt;. Click and drag these right below the original Japanese History set to make ‘sub-decks’ (child-nodes) out of them, as shown below. Anki orders sets alphabetically, so I often use numbers to realize my intended structure.&lt;/p&gt;
&lt;p&gt;&lt;img alt="ankimain" class="border fcenter" src="https://steviepoppe.net/images/anki/anki-main.jpg" title="ankimain"/&gt;&lt;/p&gt;
&lt;p&gt;Now click on &lt;em&gt;“1 - Meiji”&lt;/em&gt; to enter that set. As there’s no content yet you’ll get an appropriate congratulatory message. Doesn’t matter, we’re on a different mission now, &lt;em&gt;on a mission to create&lt;/em&gt;. Click on &lt;strong&gt;Add&lt;/strong&gt; to start on your first card. This is how it will look like in the end.&lt;/p&gt;
&lt;p&gt;&lt;img alt="itocard" class="border fcenter" src="https://steviepoppe.net/images/anki/anki-itocard.jpg" title="itocard"/&gt;&lt;/p&gt;
&lt;p&gt;While it might sound somewhat contradictory, I should mention you’ll never actually create ‘cards’ (at least, in Anki-jargon) directly. Instead, what you’re actually making now is a &lt;strong&gt;‘note’&lt;/strong&gt;, a kind of blueprint containing all information relevant to a certain topic. This is useful because you’ll often want different cards questioning you on the same subject. A so-called ‘note’ on a particular foreign word might contain said foreign word, its translation, an audio reading and an example sentence. Based on this note, you’d be able to generate several cards questioning based on the foreign word, on the translation, or on the audio.&lt;/p&gt;
&lt;p&gt;This requires more jargon. Following my explanation, ‘notes’ are blueprints for creating cards and so-called &lt;strong&gt;note-types&lt;/strong&gt; are blueprints for ‘notes’. If we want ‘notes’ with data on a foreign word, as well as its translation, an audio reading and an example sentence, we’ll need a note-blueprint (note-type) with four fields: ‘term’, ‘translation’, ‘audio’ and ‘example sentence’. Based on this note-type, we’ll be able to create notes on foreign vocabulary to our heart’s extent.&lt;/p&gt;
&lt;p&gt;Generation and styling of the actual ‘cards’ will also be set up in said ‘note-type’. Following through our language example, we might want to generate three cards: one questioning you on visual recognition (a certain term), one on oral recognition (audio), and one on production (translation), with all three displaying an example sentence along your answer. I made a brief, crude diagram trying to visualize the result of this tutorial.&lt;/p&gt;
&lt;p&gt;&lt;img alt="anki-diagram" class="border fcenter" src="https://steviepoppe.net/images/anki/anki-diagram.jpg" title="anki-diagram"/&gt;&lt;/p&gt;
&lt;p&gt;We’re almost done. Earlier, we made a ‘set’. A ‘set’ (or it’s child-set) contains ‘notes’. As mentioned above, those ‘notes’ belong to a certain note-type and include settings like the amount of fields it contains. In a ‘note-type’, you’ll also specify &lt;strong&gt;‘card-types’&lt;/strong&gt;. ‘Card-types’ serve as blueprint for the actual ‘cards’ you’ll study: they determine the lay-out side of things: which fields are shown and how are they made up. To summarize in this article’s most confusing sentence to date: when create a new &lt;strong&gt;‘note’&lt;/strong&gt;, it will generate &lt;strong&gt;‘cards’&lt;/strong&gt; based on the ‘card-types’ contained in your note’s &lt;strong&gt;‘note-type’&lt;/strong&gt;. If this doesn’t make sense yet, don’t worry, you’ll get it soon enough by doing this tutorial.&lt;/p&gt;
&lt;p&gt;&lt;img alt="anki-ito" class="border right" src="https://steviepoppe.net/images/anki/anki-ito.jpg" title="anki-ito"/&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Type:Basic&lt;/code&gt; means we’ll create, unsurprisingly, a note of the &lt;code&gt;basic&lt;/code&gt; type. These notes have only two fields (a ‘front’ and ‘back’), and only one generated card: one that shows you the ‘front’ as query, and the ‘back’ as response. We’ll create a new note-type in a second, but for our first note this is fine: a card on &lt;strong&gt;Ito Hirobumi&lt;/strong&gt;, an important figure in the modernization of Japan during the 19&lt;sup&gt;th&lt;/sup&gt; century, using the brief summary below. Inserting images is through copy-pasting. As example, copy Ito’s portrait on the right and paste it in your &lt;em&gt;Create Note&lt;/em&gt; screen.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Who&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Lower-rank Samurai in Choshu - politician - &lt;strong&gt;4x PM&lt;/strong&gt; -  Resident-General of (protectorate) Korea - &lt;em&gt;founding father of Modern Japan&lt;/em&gt; - assassinated by a Korean nationalist.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;When&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;1841 - 1909&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Where&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Born in Choshu, studied in Universy College London (1863) together with &lt;em&gt;Choshu Five&lt;/em&gt;. Spent &lt;em&gt;18 months in Europa&lt;/em&gt; studying different constitutions.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Originally a &lt;strong&gt;sonno joi&lt;/strong&gt; movement member before foreign studies. On return, warned Japan against Shimonoseki passage war. Set up a cabinet and tax system, became prime minister and set up &lt;strong&gt;Meiji Constitution&lt;/strong&gt;. Also important for the removal of several Unequal Treaties.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img alt="firstcard" class="hwimportant border right" src="https://steviepoppe.net/images/anki/anki-firstcard.jpg" title="firstcard"/&gt;&lt;/p&gt;
&lt;p&gt;It’s a good practice to properly ‘tag’ your cards as well. You can add multiple tags, separating them with spaces. This allows for quick sorting in Anki’s card browser. You’ll end up with something like the screen-shot to the right. Finish up by clicking &lt;strong&gt;add&lt;/strong&gt;. Congrats, keep this up and you’ll be breezing through your exams in no time!&lt;/p&gt;
&lt;h3 id="creating-your-own-cards-efficiently"&gt;&lt;a class="toclink" href="#creating-your-own-cards-efficiently"&gt;Creating your own cards… &lt;em&gt;Efficiently&lt;/em&gt;!&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Our first ‘efficient’ card will be one on what is considered a tipping point in recent Japanese history: the &lt;strong&gt;Meiji Restoration&lt;/strong&gt; in &lt;strong&gt;1868&lt;/strong&gt;. First we’ll create a new ‘note-type’ to generate two ‘cards’, and next, alter the basic template of the ‘card-type’ belonging to the ‘note-type’ to allow pop-up &lt;em&gt;furigana&lt;/em&gt; on touch. This one’s meant to get a feeling on Anki’s diverse extension options. You’ll end up with these cards:&lt;/p&gt;
&lt;p class="hwimportant center border hwimportant center border"&gt;&lt;img alt="hwimportant center border" src="https://steviepoppe.net/images/anki/anki-meiji1.jpg" style="width: 250px; height: auto; max-width: 100%;"/&gt;
&lt;img alt="hwimportant center border" src="https://steviepoppe.net/images/anki/anki-meiji2.jpg" style="width: 250px; height: auto; max-width: 100%;"/&gt;&lt;/p&gt;
&lt;p&gt;First, switch sets to the ‘&lt;em&gt;0 - Important dates&lt;/em&gt;‘ subset. If you’re still on the previous add-screen, switch sets by clicking on the corresponding set button near the top right.&lt;/p&gt;
&lt;p&gt;There are various ways of creating a new ‘note-type’. For now, just click on the &lt;em&gt;basic&lt;/em&gt; type, then &lt;em&gt;manage&lt;/em&gt; on your next dialog screen, and add on the one thereafter. Select the first option, and name it something like &lt;code&gt;DateEventDetail&lt;/code&gt;. Return and select this new type as your active ‘note-type’.&lt;/p&gt;
&lt;p&gt;&lt;img alt="newtype" class="border fcenter" src="https://steviepoppe.net/images/anki/anki-newtype.jpg" title="newtype"/&gt;&lt;/p&gt;
&lt;p&gt;Next up, you’ll be editing the this note-type to contain three fields. You’ll want a ‘note’ that:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;contains the event’s specific &lt;em&gt;date&lt;/em&gt; (&lt;code&gt;1868&lt;/code&gt;),&lt;/li&gt;
&lt;li&gt;the event’s &lt;em&gt;name&lt;/em&gt; (&lt;code&gt;Meiji Restoration&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;a field for more &lt;em&gt;detailed information&lt;/em&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Thus in the field screen, add a new field called &lt;code&gt;Detail&lt;/code&gt;, and &lt;strong&gt;rename&lt;/strong&gt; the other two to &lt;code&gt;Date&lt;/code&gt; and &lt;code&gt;Event&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img alt="newfield" class="border fcenter" src="https://steviepoppe.net/images/anki/anki-newfield.jpg" title="newfield"/&gt;&lt;/p&gt;
&lt;p&gt;Let’s close this screen and add same data to our fields. For the &lt;code&gt;Detail&lt;/code&gt; field, copy-paste the following text. Copy-pasting doesn’t include our preferred layout yet; we’ll do this manually using the tool-bar demonstrated in the screen-shot below (or using classic shortcuts as &lt;kbd&gt;ctrl-b&lt;/kbd&gt; used in other text-editors). &lt;code&gt;Date&lt;/code&gt; and &lt;code&gt;Event&lt;/code&gt; will respectively contain &lt;code&gt;1868&lt;/code&gt; and &lt;code&gt;Meiji Restoration&lt;/code&gt;. When finished, don’t click on &lt;strong&gt;add&lt;/strong&gt; just yet!&lt;/p&gt;
&lt;p&gt;&lt;img alt="layout" class="border fcenter" src="https://steviepoppe.net/images/anki/anki-layout.png" title="layout"/&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Cause&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Commodore &lt;strong&gt;Matthew C. Perry&lt;/strong&gt; (Convention of Kanagawa) - unequal treaties (Harris Treaty) - &lt;strong&gt;sonno joi&lt;/strong&gt; movement&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Rise&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Satsuma-Choshu Alliance - resignation of &lt;strong&gt;Tokugawa Yoshinobu&lt;/strong&gt; (15&lt;sup&gt;th&lt;/sup&gt; and last Tokugawa Shogun) - Boshin War&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Key points&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;em&gt;Restoration of imperial rule&lt;/em&gt;: return of the Emperor’s practical abilities&lt;/li&gt;
&lt;li&gt;&lt;em&gt;The end of Sakoku policy&lt;/em&gt;, as well as the Bushi dominated Bakufu, and 265 years of rule by Tokugawa Shogunate&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Five Charter Oath&lt;/em&gt; promulgated at Emperor Meiji’s enthronement.&lt;/li&gt;
&lt;li&gt;“&lt;em&gt;one reign, one era name&lt;/em&gt;” (&lt;span lang="ja"&gt;&lt;ruby&gt;&lt;rb&gt;一世一元&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;いっせいいちげん&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;&lt;/span&gt; ) system adopted: the start of eras named after their emperor.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Effect&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Meiji constititution&lt;/strong&gt; (&lt;em&gt;Ito Hirobumi&lt;/em&gt;, 1890) - abolition of the han system  (&lt;span lang="ja"&gt;&lt;ruby&gt;&lt;rb&gt;廃藩置県&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;はいはんちけん&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;&lt;/span&gt;) - abolition of the four class system (&lt;span lang="ja"&gt;&lt;ruby&gt;&lt;rb&gt;士農工商&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;しのうこうしょう&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;&lt;/span&gt;) - land and tax reforms - nationwide subscription - &lt;strong&gt;satsuma rebellion&lt;/strong&gt; - Rapid industrialization - &lt;span lang="ja"&gt;&lt;ruby&gt;&lt;rb&gt;富国強兵&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;ふこくきょうへい&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;&lt;/span&gt; and militarization&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Finally, we’ll change the ‘cards’ generated out of this ‘note’. Click on the &lt;strong&gt;Cards&lt;/strong&gt; button and take a look around. Terms in double brackets (eg. &lt;code&gt;{{Detail}}&lt;/code&gt; or &lt;code&gt;{{Date}}&lt;/code&gt;) are variables and represent either your note’s fields or its front/backside (eg. &lt;code&gt;{{FrontSide}}&lt;/code&gt;). Through tags as &lt;code&gt;&amp;lt;br&amp;gt;&lt;/code&gt; and &lt;code&gt;&amp;lt;hr&amp;gt;&lt;/code&gt;, you might notice cards use HTML (a markup language used in web-development), and the style-screen in the middle of the window defines your card’s style using CSS (a language standard for web design): colors, font-types, etc. Note that although it could help, you really don’t need any experience in these to make useful cards.&lt;/p&gt;
&lt;p&gt;&lt;img alt="cardtype" class="border fcenter" src="https://steviepoppe.net/images/anki/anki-cardtype.jpg" title="cardtype"/&gt;&lt;/p&gt;
&lt;p&gt;Start by editing your current card. Name it &lt;code&gt;date&lt;/code&gt; by clicking &lt;strong&gt;more&lt;/strong&gt; → &lt;strong&gt;rename&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Next you’ll want to add the contents of your detail field to your backside’s template. &lt;code&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/code&gt; creates two line breaks in HTML, adding sufficient room between the content of the two fields.&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt;1&lt;/span&gt;
&lt;span class="normal"&gt;2&lt;/span&gt;
&lt;span class="normal"&gt;3&lt;/span&gt;
&lt;span class="normal"&gt;4&lt;/span&gt;
&lt;span class="normal"&gt;5&lt;/span&gt;
&lt;span class="normal"&gt;6&lt;/span&gt;
&lt;span class="normal"&gt;7&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;    {{FrontSide}}

    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;hr&lt;/span&gt; &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;answer&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;

    {{Event}}
    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;br&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;br&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
    {{Detail}}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;This card will question you on the date: What happened in 1868? That’s right, the Meiji Period. Have some extra information!&lt;/p&gt;
&lt;p&gt;Now click on the &lt;code&gt;+&lt;/code&gt; button in the upper-right corner to add a new card to generate. Name it &lt;code&gt;Event&lt;/code&gt;. This time you’ll edit the templates of the front and back by switching the &lt;code&gt;{{Event}}&lt;/code&gt; and &lt;code&gt;{{Date}}&lt;/code&gt; variables around; this will question you what happened on the event’s date. Meiji Period? Oh yeah, 1868.&lt;/p&gt;
&lt;p&gt;&lt;img alt="secondcard" class="hwimportant border right" src="https://steviepoppe.net/images/anki/anki-secondcard.jpg" title="secondcard"/&gt;&lt;/p&gt;
&lt;p&gt;When finished, you should now have something similar to the screen-shot on the left. Useful, right? That’s just the start of how extensible this tool really is!&lt;/p&gt;
&lt;p&gt;If you’re still with me, I’d like to introduce you one last useful feature (for now). This one might be less relevant for those not studying Japanese, but honestly, it’s a neat one to keep in mind when designing your cards (I occasionally use it outside language-learning as well). Remember those Japanese characters up there? They had &lt;em&gt;furigana&lt;/em&gt;&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-6" id="fnref-6" rel="footnote"&gt;7&lt;/a&gt;&lt;/sup&gt; on top. We’d probably want this in our cards as well. Luck goes it setting this up is extremely simple and support comes out-of-the-box: just add &lt;code&gt;furigana&lt;/code&gt;: (all lower-caps) in front of your field variables in the card-note template screen you’re in, eg. &lt;code&gt;{{Detail}}&lt;/code&gt; becomes &lt;code&gt;{{furigana:Detail}}&lt;/code&gt; (you won’t see any visible changes yet as we haven’t added the actual &lt;em&gt;furigana&lt;/em&gt; in our text itself yet).&lt;/p&gt;
&lt;p&gt;Actually, to accommodate Japanese learners, we’ll take away the crutches of kana-reading aids and let it display only on click/touch. Add the CSS below to the bottom of your note’s style (the one in the middle). This hides all &lt;em&gt;furigana&lt;/em&gt; (or rather, ruby annotations) by default and displays them upon touch or hover.&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt;1&lt;/span&gt;
&lt;span class="normal"&gt;2&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="nt"&gt;ruby&lt;/span&gt; &lt;span class="nt"&gt;rt&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="k"&gt;visibility&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;hidden&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nt"&gt;ruby&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nd"&gt;hover&lt;/span&gt; &lt;span class="nt"&gt;rt&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="k"&gt;visibility&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;visible&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;Now, add the actual &lt;em&gt;furigana&lt;/em&gt; (contained in square brackets) next to their respective words: eg. &lt;code&gt;一世一元[いっせいいちげん]&lt;/code&gt;, &lt;code&gt;廃藩置県[はいはんちけん]&lt;/code&gt;, &lt;code&gt;士農工商[しのうこうしょう]&lt;/code&gt;, and &lt;code&gt;富国強兵[ふこくきょうへい]&lt;/code&gt;. When done, let’s wrap things up by clicking &lt;strong&gt;add&lt;/strong&gt;.&lt;/p&gt;
&lt;hr/&gt;
&lt;p&gt;Now you’ve created your first set(s) and a couple of cards, I &lt;strong&gt;highly recommend&lt;/strong&gt; changing the studying settings tied to your sets as well. Out of the box, &lt;strong&gt;Anki will add 20 new cards and allow only 100 repetitions a day&lt;/strong&gt;. This is highly inefficient. We’ll want to remove the top barrier and be in control of the amount of new cards we study.&lt;/p&gt;
&lt;p&gt;&lt;img alt="decksettings" class="border fcenter" src="https://steviepoppe.net/images/anki/anki-decksettings.jpg" title="decksettings"/&gt;&lt;/p&gt;
&lt;p&gt;Open your main deck’s settings by clicking the icon to the right and selecting settings. Don’t worry, these settings pertain all sets fixed to this “option group”, so you won’t have to do this manually for all your new sets. Edit these three elements:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;New Cards&lt;/strong&gt;: new cards/day -&amp;gt; &lt;code&gt;0&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Repetitions&lt;/strong&gt;: maximum reps/day -&amp;gt; &lt;code&gt;9999&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mistakes&lt;/strong&gt;: action on difficult cards -&amp;gt; &lt;code&gt;tag only&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Instead of an arbitrary number of new cards every single day, you’ll be in control yourself by clicking “&lt;strong&gt;customized study&lt;/strong&gt;” from the set’s menu, and choosing the amount of new cards you’d like to study.&lt;/p&gt;
&lt;p&gt;I’ve exported my own copy of this example and uploaded if you want to compare or save yourself the work doing it manually:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Download&lt;/strong&gt;: &lt;a href="https://www.dropbox.com/s/4xtfwgzgg752y7f/Japanese%20History.apkg?dl=0"&gt;Example set Japanese History &lt;i class="icon-download-alt"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="your-first-set-efficiently"&gt;&lt;a class="toclink" href="#your-first-set-efficiently"&gt;Your first set…  &lt;em&gt;Efficiently&lt;/em&gt;!&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;If you’re starting on a new language, you’ll probably want to start by learning basic vocabulary common in every language (eg. words such as “person”, “name”, etc). If that’s the case, there’s no need to reinvent the wheel: look for pre-made decks and if you will, adjust the card lay-out to your own liking. Anki’s own &lt;a href="https://ankiweb.net/shared/decks/"&gt;shared deck repository&lt;/a&gt; is a good place to start.&lt;/p&gt;
&lt;p&gt;If there are no pre-made decks to your liking, but you have access to large data files such as large word lists, another solution would be to import CSV&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-7" id="fnref-7" rel="footnote"&gt;8&lt;/a&gt;&lt;/sup&gt; files or other forms of text separated by tabs or semicolons and mapping the contents to your note’s fields. An added benefit of this approach is it’s suitability for group (or class) work, by setting up a googledoc sheet, and through a joint-effort creating a large spreadsheet everyone could export as CSV. If there’s demand, I could hack up a small (we’ll see) guide on setting this up.&lt;/p&gt;
&lt;p&gt;Personally, I’ve set up my environment to import any new Japanese word I encounter on-line and would like to study straight into Anki with audio and dictionary definitions. As this goes beyond the scope of this article, I’ve written &lt;a href="https://steviepoppe.net/blog/2016/09/a-quick-guide-on-using-anki-2-an-efficient-vocab-mining-set-up-with-anki-and-rikaisama/"&gt;another tutorial&lt;/a&gt; on that, and definitely recommend that approach for Japanese learners.&lt;/p&gt;
&lt;h2 id="structuring-data"&gt;&lt;a class="toclink" href="#structuring-data"&gt;Structuring Data&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;“&lt;em&gt;But Stevie&lt;/em&gt;”, I hear you ask, “&lt;em&gt;how do I study less structured information with Anki?&lt;/em&gt;“&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Good question. This involves some thinking on your part: what is it that you’d like to reproduce? What information would you like to memorize? If you’re a student, think creatively on your course and how you could structure its contents in bite-sized pieces to feed your Ankiset.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-8" id="fnref-8" rel="footnote"&gt;9&lt;/a&gt;&lt;/sup&gt; Courses are designed with a certain logic in mind, after all. You could start off by making subsets on each of the big chapters of your textbook, or create the answer to potential questions first, mark the important data next, and &lt;em&gt;Ankify&lt;/em&gt;&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-9" id="fnref-9" rel="footnote"&gt;10&lt;/a&gt;&lt;/sup&gt; this. This process is &lt;strong&gt;an important step in grasping the big picture and part of the actual studying&lt;/strong&gt;. This is the exact reason why I’m reluctant to share some of my own sets that don’t involve the need for just rote memorization.&lt;/p&gt;
&lt;p&gt;Over the past two years at university I’ve devised and adjusted my own method to structure and create Anki-sets. Feel free to try it yourself (your mileage might vary). It goes somewhat as follows:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Structure&lt;/strong&gt;: create a structure based on the course’s structure (this could be as simple as copying the Table of Contents) or on repeating elements (certain theories, models, periods in time, artists, their works, etc). If the content of a single class is relatively self-containing, this is even easier. Use this as template for your set.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Analyze&lt;/strong&gt;: analyze all your available sources: your textbook, own notes, power-point presentations, etc. Find repeating elements, highlighted or marked parts, and everything that strikes as important. There’s a reason for that and those should be given priority on memorization.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Divide&lt;/strong&gt;: try to divide and rephrase that information into questions suitable for flashcards. Use the &lt;em&gt;Five Ws&lt;/em&gt;&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-10" id="fnref-10" rel="footnote"&gt;11&lt;/a&gt;&lt;/sup&gt; as guideline if stuck (What, Who, When, Where, Why). Try to remain brief in the backside of the flashcard: I often break this rule myself, but, if you have to scroll down through your card it’s usually too long.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Style&lt;/strong&gt;: Different information requires different styling. Alter your templates and note types to reflect these by using graphical elements, cloze-encounter, audio, different directions, etc. A simple example. To memorize important dates, I use a card with three fields (Year, Event, Information) and generate two notes on these: one displaying the year in front, one displaying the event. Both show further details on the back.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Study&lt;/strong&gt;: You’ve analyzed and processed the contents in a self-containing Anki-set and thus done half the studying already. Congratulations. Now get started on those new cards and &lt;strong&gt;drill that knowledge&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;If I studied something marketing-oriented I’d probably call this the &lt;strong&gt;&lt;code&gt;SADSS-model&lt;/code&gt;&lt;/strong&gt; and write an e-book called “&lt;strong&gt;5 Steps To Master All Knowledge (and make you a more successful person in life)&lt;/strong&gt;”, free of charge if you subscribe to my non-existent newsletters. If I were a social media marketeer I’d add “Number 5 will shock you!” as subtitle. (Don’t worry. I won’t do either.)&lt;/p&gt;
&lt;h2 id="spaced-learning"&gt;&lt;a class="toclink" href="#spaced-learning"&gt;Spaced Learning&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;“&lt;em&gt;Stevie! If I’m a college student studying one, or several, language(s) alongside other theoretical classes (and I most likely am since I’m reading this blog), won’t this mean I get to repeat hundreds to thousands of cards every single day?!&lt;/em&gt;“&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Yes. Yes it does mean that.&lt;/p&gt;
&lt;p&gt;Think of it this way. You’ll have to study either way. &lt;span data-pullquote="Language acquisition comes with it's sacrifices: you can't just stop studying for a few weeks and expect to come out unharmed."&gt;Language acquisition comes with it’s sacrifices: you can’t just stop studying for a few weeks and expect to come out unharmed.&lt;/span&gt; Building up an internal dictionary containing tens of thousands of words you recognize on sight or produce actively, utilizing grammatical structures on the spot (often under severe pressure), or comprehending speech at real-time; all of these require an effort not just to memorize, but to maintain as well. Same goes for any other class, you can’t cram your way through university. What this method offers is a way of structuring your data and studying efficiently: paradoxically by studying more you’ll actually save time, as there’s no need to repeat what you already know. If you’re utilizing Spaced Repetition&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-11" id="fnref-11" rel="footnote"&gt;12&lt;/a&gt;&lt;/sup&gt;, the data you need to know will be served (roughly) the moment you’re about to forget it.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;“&lt;em&gt;Even if I’m on a holiday? This makes me very sad! :( I’ll just pretend this method of studying is not suitable for me and dismiss anki forever!&lt;/em&gt;“&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Sadly, this does mean maintaining your cards even when you’d prefer spending your day in a different way. There’s no pause button to put your cards on hold, so if you fail to go through them several days in row, you’ll have piled up all those lost days and take forever to get through them again.&lt;/p&gt;
&lt;p&gt;Of course, once the set has finished it’s purpose (usually after preparing for an exam), you could just as well delete it. It does feel as a waste (after all, what’s the point of studying in the first place?), but sadly it’s just unsustainable to maintain everything, all of this deep knowledge, till the end of times. Another approach here would be to suspend the more trivial cards and just stick on the broad outlines. The choice lies in your own hands!™ I spent about a month on a road trip in the USA this summer; unforgettable memories aside I did maintain my Ankisets the whole time. But as I removed all of my non-Japanese sets and maintained the &lt;a href="https://youtu.be/9ogQ0uge06o"&gt;bare necessities&lt;/a&gt; of studying the language, this meant only about half an hour of studying each day. That’s not too bad, huh?&lt;/p&gt;
&lt;p&gt;Anyway. As stated earlier, actively studying will be unavoidable as a student. It is entirely possible that the method Anki and it’s spaced repetition provide don’t actually work for you, &lt;strong&gt;but just don’t lie to yourself either&lt;/strong&gt;.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-12" id="fnref-12" rel="footnote"&gt;13&lt;/a&gt;&lt;/sup&gt; Find another way that &lt;em&gt;does&lt;/em&gt; work for you. There are plenty of studying methods that could be suitable (including some interesting new ones&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-13" id="fnref-13" rel="footnote"&gt;14&lt;/a&gt;&lt;/sup&gt; gaining popularity), but more likely than not, reading through your textbook a few times and cramming a summary the night ahead of an exam won’t be one of them.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;“&lt;em&gt;But wait Stevie hold up, if I get this right, I’ll be forced to use Anki, like, forever? Won’t I ever be able to just quit and bask in my new-found fluency?&lt;/em&gt;“&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This one’s a bit difficult. I’ve heard of people using Anki &lt;strong&gt;for over 8 years&lt;/strong&gt;, applying it solely as a language maintenance tool and only very occasionally adding new vocab cards when appropriate. This rings more true to me. Spaced learning means they’re only getting like 5 - 10 minutes worth of repeating old cards by now anyway so why not? If there’s ever a time, however, when you’re comfortable enough to process media as-is, and you feel you’ve been a slave to Anki for far too long, don’t let me stop you; uninstall Anki and bask in your newfound freedom! Just… don’t let all that progress go to waste! Maintain your language skills!&lt;/p&gt;
&lt;h1 id="wait-there-is-more"&gt;&lt;a class="toclink" href="#wait-there-is-more"&gt;Wait! There is more!&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;The main goal of this post was to introduce Anki both in it’s core usage as well as the wide range of appliances in the field of both linguistic and academic studies. If you’ve any further questions, feel free to leave a comment below.&lt;/p&gt;
&lt;p&gt;That being said, Anki is customizable to the point books have been written on the topic. Trying to contain everything in a single post (“&lt;strong&gt;A &lt;del&gt;quick&lt;/del&gt; guide to Anki&lt;/strong&gt;”) is an impossible mission. There are several other features I feel are useful (and underrepresented) enough in mainstream language blogs to warrant further writing though (namely Anki’s API, statistics, useful plug-ins, and integrating Rikaisama and J-pod101’s audio). Check these out in my next blogs:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://steviepoppe.net/blog/2016/09/a-quick-guide-on-using-anki-2-an-efficient-vocab-mining-set-up-with-anki-and-rikaisama/"&gt;Setting up a perfect vocab-mining environment with Anki and Rikaisama&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://steviepoppe.net/blog/2016/09/a-quick-guide-on-using-anki-3-contextualize-your-vocab-cards-with-example-sentences/"&gt;Using Anki’s API to contextualize your vocab cards with example sentences&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://steviepoppe.net/blog/2016/10/a-quick-guide-on-using-anki-4-making-the-switch-j-j-definitions-in-your-vocab-cards/"&gt;Making the switch: J-J definitions in your vocab cards&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id="further-reading"&gt;&lt;a class="toclink" href="#further-reading"&gt;Further reading&lt;/a&gt;&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://ankisrs.net/docs/manual.html"&gt;Anki Manual&lt;/a&gt;: the official Anki manual. If you’re into that kind of thing, theirs is excellent and very comprehensive. I recommend saving these for after you’ve gotten used to the software a bit.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://japaneselevelup.com/"&gt;Japaneselevelup.com&lt;/a&gt;: one of the most popular Japanese self-learner resources out there, themed after a roleplaying videogame (a bit gimmicky but there’s a large audience for that stuff). Probably mentions Anki more as I do (&lt;em&gt;my god&lt;/em&gt;).&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.supermemo.com/en/articles/20rules"&gt;Twenty rules of formulating knowledge&lt;/a&gt;: an article on making quality flashcards by &lt;a href="http://super-memory.com/english/company/wozniak.htm"&gt;Dr Piotr Wozniak&lt;/a&gt;, the author of the very first SRS algorithm as used in Anki predecessor &lt;strong&gt;SuperMemo&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://alexvermeer.com/anki-essentials/"&gt;Anki Essentials&lt;/a&gt;: a 100+ page guide on using Anki. Told you there were books written on Anki. I’m not much of a fan on the downloadable self-help e-book hype but for what I’ve read, this one’s surprisingly good.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="footnote"&gt;
&lt;hr/&gt;
&lt;ol&gt;
&lt;li id="fn-footnote"&gt;
&lt;p&gt;Image taken from the 2012 Japanese animated film Wolf Children by Mamoru Hosoda, used under Fair Use doctrine. &lt;a class="footnote-backref" href="#fnref-footnote" title="Jump back to footnote 1 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-1"&gt;
&lt;p&gt;Flashcard sets consisting of respectively 2000, 6000 or 1000 words with example sentences, all accompanied with high quality audio. They’re available both as Ankisets or on Anki alternative Memrise. As I’ve started learning Japanese through university I can’t attest for it’s helpfulness yet, but the addition of spoken sentences for context is a major advantage indeed. &lt;a class="footnote-backref" href="#fnref-1" title="Jump back to footnote 2 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-2"&gt;
&lt;p&gt;This is for more technical users and there really is no reason not to use AnkiWeb’s servers, unless they’re permanently down for some reason. Read more on &lt;a href="https://github.com/dsnopek/anki-sync-server"&gt;https://github.com/dsnopek/anki-sync-server&lt;/a&gt;. &lt;a class="footnote-backref" href="#fnref-2" title="Jump back to footnote 3 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-3"&gt;
&lt;p&gt;Except if you’re on iPhone, but if you’re able to afford Apple products that shouldn’t be much of a problem. Aside from donations that’s the only income the developers get anyway, and it’s license is peanuts compared to buying any triple-A video game on current-gen consoles. &lt;a class="footnote-backref" href="#fnref-3" title="Jump back to footnote 4 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-4"&gt;
&lt;p&gt;Karpicke, Jeffrey D., en Henry L. Roediger. 2008. “The Critical Importance of Retrieval for Learning”. Science 319 (5865): 966–68. &lt;a class="footnote-backref" href="#fnref-4" title="Jump back to footnote 5 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-5"&gt;
&lt;p&gt;&lt;strong&gt;OCR&lt;/strong&gt;: &lt;strong&gt;O&lt;/strong&gt;ptical &lt;strong&gt;C&lt;/strong&gt;haracter &lt;strong&gt;R&lt;/strong&gt;ecognition: basically recognizing text or characters through an image (like a scan or photograph taken with your cellphone). I recently found this free manga reader for Android with OCR and dictionary which looks pretty cool. Check it out at &lt;a href="http://ocrmangareaderforandroid.sourceforge.net/"&gt;http://ocrmangareaderforandroid.sourceforge.net/&lt;/a&gt; &lt;a class="footnote-backref" href="#fnref-5" title="Jump back to footnote 6 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-6"&gt;
&lt;p&gt;A Japanese reading aid by printing the word’s pronunciation in syllabic characters above the original word. A more general term for this is ruby, and such annotations are commonly used for the romanization of other languages as well. Read more: &lt;a href="https://en.wikipedia.org/wiki/Ruby_character"&gt;https://en.wikipedia.org/wiki/Ruby_character&lt;/a&gt; &lt;a class="footnote-backref" href="#fnref-6" title="Jump back to footnote 7 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-7"&gt;
&lt;p&gt;&lt;strong&gt;C&lt;/strong&gt;omma-&lt;strong&gt;S&lt;/strong&gt;eperated &lt;strong&gt;V&lt;/strong&gt;alue files: plain text containing data formatted as table by separating them through commas. &lt;a class="footnote-backref" href="#fnref-7" title="Jump back to footnote 8 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-8"&gt;
&lt;p&gt;The danger in this is learning information loose from it’s context. Be sure to structure your ankiset accordingly as well to remain aware of the big picture. &lt;a class="footnote-backref" href="#fnref-8" title="Jump back to footnote 9 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-9"&gt;
&lt;p&gt;&lt;strong&gt;to ankify&lt;/strong&gt;: “&lt;em&gt;to process large sets of information into small, managable flashcards prepared for the memorization tool Anki&lt;/em&gt;”. At least, that’s how I’d expect to see this term if it were to actually exist. &lt;a class="footnote-backref" href="#fnref-9" title="Jump back to footnote 10 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-10"&gt;
&lt;p&gt;A popular formula of questions, whose answers are considered as base intel, in any type of problem-solving, research or journalism. Read more at &lt;a href="https://en.wikipedia.org/wiki/Five_Ws"&gt;https://en.wikipedia.org/wiki/Five_Ws&lt;/a&gt; &lt;a class="footnote-backref" href="#fnref-10" title="Jump back to footnote 11 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-11"&gt;
&lt;p&gt;&lt;strong&gt;SRS&lt;/strong&gt; or &lt;strong&gt;S&lt;/strong&gt;paced &lt;strong&gt;R&lt;/strong&gt;epetition &lt;strong&gt;S&lt;/strong&gt;ystem is how the Anki/learning community commonly referred to spatial learning. &lt;a class="footnote-backref" href="#fnref-11" title="Jump back to footnote 12 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-12"&gt;
&lt;p&gt;Actually there are several notables arguing against Spaced Repetition, but honestly, the real value in these articles lies in the counter-arguments provided in the comments. Example: &lt;a href="https://www.scotthyoung.com/blog/2012/08/05/forgetting-is-good/"&gt;https://www.scotthyoung.com/blog/2012/08/05/forgetting-is-good/&lt;/a&gt; &lt;a class="footnote-backref" href="#fnref-12" title="Jump back to footnote 13 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-13"&gt;
&lt;p&gt;&lt;strong&gt;Memory Palaces&lt;/strong&gt; (also known as &lt;a href="https://en.wikipedia.org/wiki/Method_of_loci"&gt;Method of Loci&lt;/a&gt;) are gaining some new popularity thanks to TV series Sherlock, and rely on spatial memory. Venn Diagrams and other kinds of graphical tools also target our visual memory, and are quite helpful, but these could surely be combined with SRS (in fact, I believe visual stimuli are fundamental to your sets anyway). &lt;a class="footnote-backref" href="#fnref-13" title="Jump back to footnote 14 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="Studies"></category><category term="Anki"></category><category term="Tutorial"></category><category term="Japanese"></category><category term="Studying"></category></entry><entry><title>Parsing Japanese Text in Markdown-Python for Stylizing and Semantic Purposes</title><link href="https://steviepoppe.net/blog/2016/09/parsing-japanese-text-in-markdown-python-for-stylizing-and-semantic-purposes/" rel="alternate"></link><published>2016-09-06T00:00:00+02:00</published><updated>2016-09-06T00:00:00+02:00</updated><author><name>Stevie Poppe</name></author><id>tag:steviepoppe.net,2016-09-06:/blog/2016/09/parsing-japanese-text-in-markdown-python-for-stylizing-and-semantic-purposes/</id><summary type="html">
&lt;p&gt;Due to my studies I (will) often use Japanese in my blog. As I gave some thought to typography and readability, I found the default appearance of Japanese text to be in stark contrast with the rest of my design.&lt;sup&gt;&lt;/sup&gt; To target specifically Japanese text, I wrote a small Markdown-Python extension for use in static blog generators as Jekyll and Pelican (or pretty much anything that utilizes Markdown-Python to parse Markdown in HTML) and embed such text in a span with the language attribute set to Japanese. The added, and probably more important bonus, aside from styling and semantic reasons, is that this method counters the negative effects of &lt;a href="https://en.wikipedia.org/wiki/Han_unification"&gt;Han unification&lt;/a&gt; in so-called CJK-languages.&lt;/p&gt;
&lt;h1 id="download"&gt;&lt;a class="toclink" href="#download"&gt;Download&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;I’ve added the extension on its &lt;a href="https://github.com/steviepoppe/lang_ja_span_markdown"&gt;own repository&lt;/a&gt; on my GitHub for anyone interested, but as it serves its purpose for me as-is I have no further interest in maintaining it at the moment.&lt;sup&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;h1 id="installation"&gt;&lt;a class="toclink" href="#installation"&gt;Installation&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Copy the &lt;code&gt;japanese.py&lt;/code&gt; script into your python-markdown extension directory.&lt;/p&gt;
&lt;p&gt;If you’re using &lt;a href="http://docs.getpelican.com/en/latest/"&gt;Pelican&lt;/a&gt; as static site generator, open your project’s &lt;code&gt;pelicanconf.py&lt;/code&gt; and add &lt;code&gt;'japanese'&lt;/code&gt; to the &lt;code&gt;MD_EXTENSIONS&lt;/code&gt; list:&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt;1&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;    &lt;span class="n"&gt;MD_EXTENSIONS&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'japanese'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;h1 id="usage"&gt;&lt;a class="toclink" href="#usage"&gt;Usage&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Using a simple regular expression &lt;code&gt;(\{\{)(.+?)(\}\})&lt;/code&gt;, the extension treats double {} brackets as span tags with a &lt;code&gt;lang="ja"&lt;/code&gt; attribute.&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt;1&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;    {{読書クラブ}}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;will output&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt;1&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt; &lt;span class="na"&gt;lang&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"ja"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;読書クラブ&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Example 1&lt;/strong&gt; (fonts): just compare &lt;span style="font-size: 135%;"&gt;&lt;span lang="ja"&gt;&lt;ruby&gt;&lt;rb&gt;読書&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;どくしょ&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;クラブ&lt;/span&gt;&lt;/span&gt; (custom) to &lt;span style="font-size: 130%;"&gt;&lt;ruby&gt;&lt;rb&gt;読書&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;どくしょ&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;クラブ&lt;/span&gt; (Meiryo) to &lt;span style='font-size: 130%; font-family: "MS Gothic";'&gt;&lt;ruby&gt;&lt;rb&gt;読書&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;どくしょ&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;クラブ&lt;/span&gt; (MS Gothic default).&lt;sup&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example 2&lt;/strong&gt; (unihan): compare the Chinese to Japanese characters: &lt;span lang="zh" style="font-size: 130%; font-family: 'Quicksand',sans-serif;"&gt;隆&lt;/span&gt; (&lt;span lang="ja" style="font-size: 135%;"&gt;隆&lt;/span&gt;), &lt;span lang="zh" style="font-size: 130%; font-family: 'Quicksand',sans-serif;"&gt;誤&lt;/span&gt; (&lt;span lang="ja" style="font-size: 135%;"&gt;誤&lt;/span&gt;), &lt;span lang="zh" style="font-size: 130%; font-family: 'Quicksand',sans-serif;"&gt;直&lt;/span&gt; (&lt;span lang="ja" style="font-size: 135%;"&gt;直&lt;/span&gt;).&lt;sup&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;h1 id="styling"&gt;&lt;a class="toclink" href="#styling"&gt;Styling&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Although it’s a bit of a risk performance-wise, I’m quite a fan of Google’s free web-fonts.&lt;sup&gt;&lt;/sup&gt; Due the complexity of the Japanese character-set, development on these have been slow&lt;sup&gt;&lt;/sup&gt;, but &lt;a href="https://en.wikipedia.org/wiki/Noto_fonts"&gt;Google’s Noto Font&lt;/a&gt; is getting quite efficient and with the Japanese font set supporting near 7000 characters, it should pose no problem for most web-projects. Since it works better, typography-wise, with the rest of my fonts, I use this one over fonts as Meiryo that are more widespread across all platforms.&lt;/p&gt;
&lt;p&gt;Using the CSS below, I ensure max compatibility by using Meiryo and others as fall-back if the page can’t connect to Google’s font API.&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt;1&lt;/span&gt;
&lt;span class="normal"&gt;2&lt;/span&gt;
&lt;span class="normal"&gt;3&lt;/span&gt;
&lt;span class="normal"&gt;4&lt;/span&gt;
&lt;span class="normal"&gt;5 …&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary><content type="html">

&lt;p&gt;Due to my studies I (will) often use Japanese in my blog. As I gave some thought to typography and readability, I found the default appearance of Japanese text to be in stark contrast with the rest of my design.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-1" id="fnref-1" rel="footnote"&gt;1&lt;/a&gt;&lt;/sup&gt; To target specifically Japanese text, I wrote a small Markdown-Python extension for use in static blog generators as Jekyll and Pelican (or pretty much anything that utilizes Markdown-Python to parse Markdown in HTML) and embed such text in a span with the language attribute set to Japanese. The added, and probably more important bonus, aside from styling and semantic reasons, is that this method counters the negative effects of &lt;a href="https://en.wikipedia.org/wiki/Han_unification"&gt;Han unification&lt;/a&gt; in so-called CJK-languages.&lt;/p&gt;

&lt;h1 id="download"&gt;&lt;a class="toclink" href="#download"&gt;Download&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;I’ve added the extension on its &lt;a href="https://github.com/steviepoppe/lang_ja_span_markdown"&gt;own repository&lt;/a&gt; on my GitHub for anyone interested, but as it serves its purpose for me as-is I have no further interest in maintaining it at the moment.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-2" id="fnref-2" rel="footnote"&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;h1 id="installation"&gt;&lt;a class="toclink" href="#installation"&gt;Installation&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Copy the &lt;code&gt;japanese.py&lt;/code&gt; script into your python-markdown extension directory.&lt;/p&gt;
&lt;p&gt;If you’re using &lt;a href="http://docs.getpelican.com/en/latest/"&gt;Pelican&lt;/a&gt; as static site generator, open your project’s &lt;code&gt;pelicanconf.py&lt;/code&gt; and add &lt;code&gt;'japanese'&lt;/code&gt; to the &lt;code&gt;MD_EXTENSIONS&lt;/code&gt; list:&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt;1&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;    &lt;span class="n"&gt;MD_EXTENSIONS&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'japanese'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;h1 id="usage"&gt;&lt;a class="toclink" href="#usage"&gt;Usage&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Using a simple regular expression &lt;code&gt;(\{\{)(.+?)(\}\})&lt;/code&gt;, the extension treats double {} brackets as span tags with a &lt;code&gt;lang="ja"&lt;/code&gt; attribute.&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt;1&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;    {{読書クラブ}}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;will output&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt;1&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt; &lt;span class="na"&gt;lang&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"ja"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;読書クラブ&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Example 1&lt;/strong&gt; (fonts): just compare &lt;span style="font-size: 135%;"&gt;&lt;span lang="ja"&gt;&lt;ruby&gt;&lt;rb&gt;読書&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;どくしょ&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;クラブ&lt;/span&gt;&lt;/span&gt; (custom) to &lt;span style="font-size: 130%;"&gt;&lt;ruby&gt;&lt;rb&gt;読書&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;どくしょ&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;クラブ&lt;/span&gt; (Meiryo) to &lt;span style='font-size: 130%; font-family: "MS Gothic";'&gt;&lt;ruby&gt;&lt;rb&gt;読書&lt;/rb&gt;&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;どくしょ&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;クラブ&lt;/span&gt; (MS Gothic default).&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-3" id="fnref-3" rel="footnote"&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example 2&lt;/strong&gt; (unihan): compare the Chinese to Japanese characters: &lt;span lang="zh" style="font-size: 130%; font-family: 'Quicksand',sans-serif;"&gt;隆&lt;/span&gt; (&lt;span lang="ja" style="font-size: 135%;"&gt;隆&lt;/span&gt;), &lt;span lang="zh" style="font-size: 130%; font-family: 'Quicksand',sans-serif;"&gt;誤&lt;/span&gt; (&lt;span lang="ja" style="font-size: 135%;"&gt;誤&lt;/span&gt;), &lt;span lang="zh" style="font-size: 130%; font-family: 'Quicksand',sans-serif;"&gt;直&lt;/span&gt; (&lt;span lang="ja" style="font-size: 135%;"&gt;直&lt;/span&gt;).&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-4" id="fnref-4" rel="footnote"&gt;4&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;h1 id="styling"&gt;&lt;a class="toclink" href="#styling"&gt;Styling&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Although it’s a bit of a risk performance-wise, I’m quite a fan of Google’s free web-fonts.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-5" id="fnref-5" rel="footnote"&gt;5&lt;/a&gt;&lt;/sup&gt; Due the complexity of the Japanese character-set, development on these have been slow&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-6" id="fnref-6" rel="footnote"&gt;6&lt;/a&gt;&lt;/sup&gt;, but &lt;a href="https://en.wikipedia.org/wiki/Noto_fonts"&gt;Google’s Noto Font&lt;/a&gt; is getting quite efficient and with the Japanese font set supporting near 7000 characters, it should pose no problem for most web-projects. Since it works better, typography-wise, with the rest of my fonts, I use this one over fonts as Meiryo that are more widespread across all platforms.&lt;/p&gt;
&lt;p&gt;Using the CSS below, I ensure max compatibility by using Meiryo and others as fall-back if the page can’t connect to Google’s font API.&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt;1&lt;/span&gt;
&lt;span class="normal"&gt;2&lt;/span&gt;
&lt;span class="normal"&gt;3&lt;/span&gt;
&lt;span class="normal"&gt;4&lt;/span&gt;
&lt;span class="normal"&gt;5&lt;/span&gt;
&lt;span class="normal"&gt;6&lt;/span&gt;
&lt;span class="normal"&gt;7&lt;/span&gt;
&lt;span class="normal"&gt;8&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nt"&gt;url&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nt"&gt;https&lt;/span&gt;&lt;span class="o"&gt;://&lt;/span&gt;&lt;span class="nt"&gt;fonts&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;googleapis&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;com&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nt"&gt;earlyaccess&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nt"&gt;notosansjapanese&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;css&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

    &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;lang&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"ja"&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="k"&gt;font-family&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"Noto Sans Japanese"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"メイリオ"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;"Meiryo"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;"ヒラギノ角ゴ Pro W3"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="s2"&gt;"Hiragino Kaku Gothic Pro"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;"ＭＳ Ｐゴシック"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;"MS PGothic"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;Sans-Serif&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
      &lt;span class="k"&gt;font-weight&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
      &lt;span class="k"&gt;font-size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;95&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;h1 id="further-reading"&gt;&lt;a class="toclink" href="#further-reading"&gt;Further reading&lt;/a&gt;&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.growingwiththeweb.com/2014/03/languages-and-chinese-characters-on-the-web.html"&gt;http://www.growingwiththeweb.com/2014/03/languages-and-chinese-characters-on-the-web.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://nimbupani.com/declaring-languages-in-html-5.html"&gt;http://nimbupani.com/declaring-languages-in-html-5.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://design.studio-umi.jp/blog/google-web-font-japan"&gt;https://design.studio-umi.jp/blog/google-web-font-japan&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://kanjialive.com/2013/04/selecting-a-better-japanese-font-for-windows-web-browsers/"&gt;http://kanjialive.com/2013/04/selecting-a-better-japanese-font-for-windows-web-browsers/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="footnote"&gt;
&lt;hr/&gt;
&lt;ol&gt;
&lt;li id="fn-1"&gt;
&lt;p&gt;This is less so on mobile devices. Most Windows web browsers default to MS Gothic, lacking anti-aliasing found in newer fonts as Meiryo, and require some manual adjustments. For maximal compatibility, I prefer to do this in-site. If no further customization is necessary, just adding Meiryo as fall-back font in the page’s font-family is sufficient, e.g. &lt;code&gt;font-family: Arial, Helvetica, Meiryo,sans-serif;&lt;/code&gt;. &lt;a class="footnote-backref" href="#fnref-1" title="Jump back to footnote 1 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-2"&gt;
&lt;p&gt;A possible extension could be one where different regular expressions test for different languages and thus deliver different &lt;em&gt;lang&lt;/em&gt; attributes. If I find the need for that on my own blog (eg. Korean), I’ll update this. &lt;a class="footnote-backref" href="#fnref-2" title="Jump back to footnote 2 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-3"&gt;
&lt;p&gt;For &lt;em&gt;furigana&lt;/em&gt; support I use a slightly edited version of an existing MD extension available at &lt;a href="https://github.com/djfun/furigana_markdown"&gt;https://github.com/djfun/furigana_markdown&lt;/a&gt;. &lt;a class="footnote-backref" href="#fnref-3" title="Jump back to footnote 3 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-4"&gt;
&lt;p&gt;If a multilingual page uses only Japanese, it’s sufficient to put a Japanese font as fall-back in the body’s font-family. If occasionally Chinese or Korean characters are used as well, this approach, aside from semantic benefits, remains more recommended. &lt;a class="footnote-backref" href="#fnref-4" title="Jump back to footnote 4 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-5"&gt;
&lt;p&gt;I use &lt;a href="https://fonts.google.com/specimen/Quicksand"&gt;Quicksand&lt;/a&gt; and &lt;a href="https://fonts.google.com/specimen/Poiret+One"&gt;Poirot One&lt;/a&gt; for all my latin-based text on this page, for example. &lt;a class="footnote-backref" href="#fnref-5" title="Jump back to footnote 5 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-6"&gt;
&lt;p&gt;Adobe’s competing, subscription-based Typekit apparently offers a wider range of Japanese web-fonts for anyone interested: &lt;a href="https://typekit.com/fonts?script=japanese"&gt;https://typekit.com/fonts?script=japanese&lt;/a&gt;. &lt;a class="footnote-backref" href="#fnref-6" title="Jump back to footnote 6 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="technical"></category><category term="python"></category><category term="pelican"></category><category term="markdown"></category><category term="Japanese"></category><category term="fonts"></category></entry><entry><title>Visiting a Japanese Elementary School - An (Awkward) Experience to Remember</title><link href="https://steviepoppe.net/blog/2016/08/visiting-a-japanese-elementary-school-an-awkward-experience-to-remember/" rel="alternate"></link><published>2016-08-28T00:00:00+02:00</published><updated>2016-08-28T00:00:00+02:00</updated><author><name>Stevie Poppe</name></author><id>tag:steviepoppe.net,2016-08-28:/blog/2016/08/visiting-a-japanese-elementary-school-an-awkward-experience-to-remember/</id><summary type="html">
&lt;p&gt;Earlier this year us second year Japanese Students were invited to participate in an international speech contest (theme: “tell an interesting story”), organized by Kobe University. Just this week we were informed that the video-recordings of those entries had been uploaded to the contest’s website and were available for all to watch.&lt;sup&gt;&lt;/sup&gt; My story is a classic “awkward Japanese language mix-up” anecdote from a school trip to a Japanese elementary school in Brussels, which I’ll touch upon in this post, alongside the embedded video. (&lt;span lang="ja"&gt;日本の方、あまり自信がないのですが、もしよろしければ是非ともご覧ください！&lt;/span&gt;)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Edit&lt;/strong&gt;: I just found out that I somehow managed to win first prize out of all the foreign contestants!! This is so cool to hear! Thanks for the cookies, Kobe University! :D&lt;/p&gt;
&lt;p&gt;&lt;img alt="cookies" class="fcenter" src="https://steviepoppe.net/images/kobe_cookies.jpg" title="cookies"/&gt;&lt;/p&gt;
&lt;h1 id="the-video"&gt;&lt;a class="toclink" href="#the-video"&gt;The Video&lt;/a&gt;&lt;/h1&gt;
&lt;div class="video"&gt;
&lt;video class="video-js vjs-default-skin" controls="" data-setup="{}" id="pelican-installation" poster="/static/screencasts/pelican-installation.png" preload="auto"&gt;
&lt;source src="http://www.speech-data.jp/chotto/media/2015F_sub/f2015037s.mp4" type="video/mp4"/&gt;
&lt;/video&gt;
&lt;p&gt;This video, along with my participation entry, is available at &lt;a href="http://www.speech-data.jp/chotto/2015F_sub/2015037.html"&gt;speech-data.jp&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;h2 id="the-story"&gt;&lt;a class="toclink" href="#the-story"&gt;The story&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The story isn’t that interesting and a bit embarrassing, but here goes anyway!&lt;/p&gt;
&lt;p&gt;&lt;img alt="cookies" class="right border" src="https://steviepoppe.net/images/omoshiroi/brabo.jpg" title="cookies"/&gt;&lt;/p&gt;
&lt;p&gt;As second year students Japanese Studies, our class participated in an excursion to a Japanese elementary school in Brussels: a fun opportunity to practice our language skills as well as have some fun playing games and learn about cultural differences and customs. The event even warranted a small post on the &lt;strong&gt;JSB&lt;/strong&gt;&lt;sup&gt;&lt;/sup&gt; section on &lt;a href="http://blogs.yahoo.co.jp/jsbbxl/55269213.html"&gt;yahoo.co.jp&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;In advance of this trip, we split our class in several groups, each preparing a presentation or activity related to our country. Several students in our group live in Antwerp, thus we thought it fun to hold a small presentation on the famous Antwerp folklore story of &lt;em&gt;Druon Antigoon&lt;/em&gt;, an evil giant guarding a bridge and exacting an exorbitant toll of those wishing to cross. Failing to cross meant &lt;em&gt;getting your hand chopped off&lt;/em&gt; and thrown into the river.&lt;sup&gt;&lt;/sup&gt; A tad morbid, but it worked well with a popular Belgian children’s game we thought fun to teach them, and in addition, there’s some really nice chocolate treats based on this tale we wanted to distribute afterwards.&lt;/p&gt;
&lt;h2 id="the-game"&gt;&lt;a class="toclink" href="#the-game"&gt;The game&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The game is a variation of a classic tag game called “&lt;em&gt;schipper, mag ik over varen?&lt;/em&gt;” (Eng: “&lt;em&gt;Skipper, may I cross?&lt;/em&gt;”) and usually played on a school’s courtyard or in a larger PE classroom. To play, the …&lt;/p&gt;</summary><content type="html">

&lt;p&gt;Earlier this year us second year Japanese Students were invited to participate in an international speech contest (theme: &amp;ldquo;tell an interesting story&amp;rdquo;), organized by Kobe University. Just this week we were informed that the video-recordings of those entries had been uploaded to the contest&amp;rsquo;s website and were available for all to watch.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-1" id="fnref-1" rel="footnote"&gt;2&lt;/a&gt;&lt;/sup&gt; My story is a classic &amp;ldquo;awkward Japanese language mix-up&amp;rdquo; anecdote from a school trip to a Japanese elementary school in Brussels, which I&amp;rsquo;ll touch upon in this post, alongside the embedded video. (&lt;span lang="ja"&gt;日本の方、あまり自信がないのですが、もしよろしければ是非ともご覧ください！&lt;/span&gt;)&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Edit&lt;/strong&gt;: I just found out that I somehow managed to win first prize out of all the foreign contestants!! This is so cool to hear! Thanks for the cookies, Kobe University! :D&lt;/p&gt;
&lt;p&gt;&lt;img class="fcenter" src="https://steviepoppe.net/images/kobe_cookies.jpg" title="cookies" alt="cookies"&gt;&lt;/p&gt;
&lt;h1 id="the-video"&gt;&lt;a class="toclink" href="#the-video"&gt;The Video&lt;/a&gt;&lt;/h1&gt;
&lt;div class="video"&gt;
&lt;video id="pelican-installation" class="video-js vjs-default-skin" controls
preload="auto" poster="/static/screencasts/pelican-installation.png"
data-setup="{}"&gt;
&lt;source src="http://www.speech-data.jp/chotto/media/2015F_sub/f2015037s.mp4" type='video/mp4'&gt;
&lt;/video&gt;
&lt;p&gt;This video, along with my participation entry, is available at &lt;a href="http://www.speech-data.jp/chotto/2015F_sub/2015037.html"&gt;speech-data.jp&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;

&lt;h2 id="the-story"&gt;&lt;a class="toclink" href="#the-story"&gt;The story&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The story isn&amp;rsquo;t that interesting and a bit embarrassing, but here goes anyway!&lt;/p&gt;
&lt;p&gt;&lt;img class="right border" src="https://steviepoppe.net/images/omoshiroi/brabo.jpg" title="cookies" alt="cookies"&gt;&lt;/p&gt;
&lt;p&gt;As second year students Japanese Studies, our class participated in an excursion to a Japanese elementary school in Brussels: a fun opportunity to practice our language skills as well as have some fun playing games and learn about cultural differences and customs. The event even warranted a small post on the &lt;strong&gt;JSB&lt;/strong&gt;&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-2" id="fnref-2" rel="footnote"&gt;3&lt;/a&gt;&lt;/sup&gt; section on &lt;a href="http://blogs.yahoo.co.jp/jsbbxl/55269213.html"&gt;yahoo.co.jp&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;In advance of this trip, we split our class in several groups, each preparing a presentation or activity related to our country. Several students in our group live in Antwerp, thus we thought it fun to hold a small presentation on the famous Antwerp folklore story of &lt;em&gt;Druon Antigoon&lt;/em&gt;, an evil giant guarding a bridge and exacting an exorbitant toll of those wishing to cross. Failing to cross meant &lt;em&gt;getting your hand chopped off&lt;/em&gt; and thrown into the river.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-3" id="fnref-3" rel="footnote"&gt;4&lt;/a&gt;&lt;/sup&gt; A tad morbid, but it worked well with a popular Belgian children&amp;rsquo;s game we thought fun to teach them, and in addition, there&amp;rsquo;s some really nice chocolate treats based on this tale we wanted to distribute afterwards.&lt;/p&gt;
&lt;h2 id="the-game"&gt;&lt;a class="toclink" href="#the-game"&gt;The game&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The game is a variation of a classic tag game called &amp;ldquo;&lt;em&gt;schipper, mag ik over varen?&lt;/em&gt;&amp;rdquo; (Eng: &amp;ldquo;&lt;em&gt;Skipper, may I cross?&lt;/em&gt;&amp;rdquo;) and usually played on a school&amp;rsquo;s courtyard or in a larger PE classroom. To play, the territory gets divided into two and the students line up on either side. One or two volunteers play the role of &amp;ldquo;skipper&amp;rdquo; or &amp;ldquo;boatman&amp;rdquo; and line up in the middle (I drew a quick MS paint diagram below, don&amp;rsquo;t judge).&lt;/p&gt;
&lt;p&gt;&lt;img class="fcenter" src="https://steviepoppe.net/images/omoshiroi/skipper.png" title="skipper" alt="skipper"&gt;&lt;/p&gt;
&lt;p&gt;Each round, those on the border are expected to reach the other side. Those playing the role of skipper make up a rule that has to be upheld to attain passage. Rules to pass could be anything: those wearing glasses, those skipping on one leg, etc. Not being able to uphold these rules however means running past the skipper and not being caught: if you&amp;rsquo;re tagged, you become a skipper as well. The more skippers, the more difficult the game becomes.&lt;/p&gt;
&lt;h2 id="the-shame"&gt;&lt;a class="toclink" href="#the-shame"&gt;The shame&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;A classmate and me played the role of skipper and did pretty well making up rules in Japanese. Near the end however, I noticed several of the remaining players wearing pink pants. &amp;ldquo;&lt;em&gt;I should definitely use this information for the next skipping rule&lt;/em&gt;&amp;rdquo;, I thought to myself. Now, the common word for pants in Japanese is ズボン (&lt;em&gt;zubon&lt;/em&gt;), probably one of the first words we learned. Except during the heat of the moment I mixed this one up with another Japanese word very similar to the English &amp;ldquo;pants&amp;rdquo;.&lt;/p&gt;
&lt;h2 id="the-end"&gt;&lt;a class="toclink" href="#the-end"&gt;The end&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&amp;hellip; Long story short, in front of not just my own teachers but all of the Japanese staff present, I asked a bunch of 12 year old girls to pass if they wore pink パンツ (&lt;em&gt;pantsu&lt;/em&gt;), a word commonly reserved for underwear.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Hope I won&amp;rsquo;t make that mistake again.&lt;/em&gt;&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-4" id="fnref-4" rel="footnote"&gt;5&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn-footnote"&gt;
&lt;p&gt;Nikko Bridge by Stevie Poppe (&lt;a href="https://flic.kr/p/LKfDn7"&gt;https://flic.kr/p/LKfDn7&lt;/a&gt; - CC BY-SA 2.0)&amp;#160;&lt;a class="footnote-backref" href="#fnref-footnote" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-1"&gt;
&lt;p&gt;These videos can be found @ &lt;a href="http://www.speech-data.jp/chotto/2015F_sub/"&gt;http://www.speech-data.jp/chotto/2015F_sub/&lt;/a&gt;&amp;#160;&lt;a class="footnote-backref" href="#fnref-1" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-2"&gt;
&lt;p&gt;Short for the &lt;strong&gt;J&lt;/strong&gt;apanese &lt;strong&gt;S&lt;/strong&gt;chool of &lt;strong&gt;B&lt;/strong&gt;russels, read more on this on &lt;a href="https://en.wikipedia.org/wiki/The_Japanese_School_of_Brussels"&gt;Wikipedia&lt;/a&gt;!&amp;#160;&lt;a class="footnote-backref" href="#fnref-2" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-3"&gt;
&lt;p&gt;Lucky for us Antwerp citizens, a young soldier named Brabo cuts of the giant&amp;rsquo;s hand in return and casts it into the river, leaving us with some nice statues near the city square and an interesting story to tell tourists. Read more on this on &lt;a href="https://en.wikipedia.org/wiki/Druon_Antigoon"&gt;Wikipedia&lt;/a&gt;!&amp;#160;&lt;a class="footnote-backref" href="#fnref-3" title="Jump back to footnote 4 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-4"&gt;
&lt;p&gt;I was confronted with a loud  「えええええええぇぇぇぇぇぇッ！！！」 coming from these girls&amp;rsquo; general direction. Everyone else looked particularly amused however, so that&amp;rsquo;s something at least.&amp;#160;&lt;a class="footnote-backref" href="#fnref-4" title="Jump back to footnote 5 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="Personal"></category><category term="Japanese"></category><category term="Video"></category><category term="KU Leuven"></category></entry><entry><title>Travels: an Icelandic Winter</title><link href="https://steviepoppe.net/blog/2016/08/travels-an-icelandic-winter/" rel="alternate"></link><published>2016-08-27T00:00:00+02:00</published><updated>2016-08-27T00:00:00+02:00</updated><author><name>Stevie Poppe</name></author><id>tag:steviepoppe.net,2016-08-27:/blog/2016/08/travels-an-icelandic-winter/</id><summary type="html">

&lt;p&gt;After a long, stressful first semester exam-period, I spent my brief time off traveling to two completely opposite places I’ve been wanting to visit for a very long time: &lt;strong&gt;Rome, Italy&lt;/strong&gt; and &lt;strong&gt;Iceland&lt;/strong&gt;: one of the coldest winter destinations I could imagine, but a place of stunning natural beauty.&lt;/p&gt;
&lt;p&gt;Over the past years, Iceland has gained somewhat of a reputation for its hipster trends and excellent music scene (both true), but its biggest attraction to me personally remains its wild, barren landscapes: sceneries that appeared downright alien at times.&lt;/p&gt;
&lt;p&gt;What follows is our brief itinerary through this beautiful country.&lt;/p&gt;

&lt;h1 id="brief-history"&gt;&lt;a class="toclink" href="#brief-history"&gt;Brief history &lt;i class="icon-history small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Iceland, a volcanically active island close to the Arctic Circle, was first inhabited by in the 9&lt;sup&gt;th&lt;/sup&gt; century by, traditionally claimed, vikings or Norwegian settlers. Most of present-day Icelandic culture finds its roots in its Scandinavian heritage, and even now is mostly famous for its medieval sagas and traditional literature and cuisine, as well as its language closely related to Old Norse.&lt;/p&gt;
&lt;p&gt;As the Icelandic plateau is one of the newest in the world, the surroundings closely resemble what our continents must’ve looked like millions of years ago. Agriculturally wise, almost everything is imported from countries as Canada, as the only native growths here are limited to bleak bushes.&lt;/p&gt;
&lt;h1 id="itinerary"&gt;&lt;a class="toclink" href="#itinerary"&gt;Itinerary &lt;i class="icon-plane small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Having only a few days off in-between my exams and the start of my next semester, we were very limited in our itinerary. Even more, neither of us had a driver license at this point, so we were forced to book several tours to show us around (a thing I generally dislike, but actually ended up really pleasant). We stayed several nights in Reykjavik as day-trips to iconic views were easiest to reach.&lt;/p&gt;
&lt;h2 id="golden-circle-tour"&gt;&lt;a class="toclink" href="#golden-circle-tour"&gt;Golden Circle Tour&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;On our first proper day, we took a tour leading us through the &lt;strong&gt;Golden Circle&lt;/strong&gt;, the most popular tourist route in Iceland. the host driving us around was an elderly man taking great pride in his viking roots and often talked of bygone farmer days and Icelandic folklore.&lt;/p&gt;
&lt;p&gt;On our way to our first hallmark, we encountered these beauties:&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/29659421145/in/album-72157672690983682/" title="Icelandic Horses"&gt;&lt;img alt="Icelandic Horses" src="https://c2.staticflickr.com/9/8116/29659421145_d7c95e17db_b.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/29368542150/in/album-72157672690983682/" title="Icelandic Horse"&gt;&lt;img alt="Icelandic Horse" src="https://c7.staticflickr.com/9/8349/29368542150_58d6c26d02.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h3 id="geysir"&gt;&lt;a class="toclink" href="#geysir"&gt;Geysir&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Geysir&lt;/strong&gt; is the geyser the English word is derived from and erupts about every 10 minutes, hurling boiling water up to 70 meters in the air.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/30520292645/in/album-72157672690983682/" title="Geyser"&gt;&lt;img alt="Geyser" src="https://c6.staticflickr.com/6/5537/30520292645_66270303bc.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h3 id="gulfoss"&gt;&lt;a class="toclink" href="#gulfoss"&gt;Gulfoss&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Gulfoss&lt;/strong&gt;, the Icelandic term for “Golden Falls”, is an iconic waterfall located in the midst of a large canyon.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/29368545040/in/album-72157672690983682/" title="Iceland waterfall"&gt;&lt;img alt="Iceland waterfall" src="https://c1.staticflickr.com/9/8716/29368545040_a4038c7490.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/29548193752/in/album-72157672690983682/" title="Iceland waterfall"&gt;&lt;img alt="Iceland waterfall" src="https://c1.staticflickr.com/9/8061/29548193752_26c6213969.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;a class="center border" href="https://www.flickr.com/photos/147061735@N04/29659422675/in/album-72157672690983682/" title="Iceland waterfall"&gt;&lt;img alt="Iceland waterfall" src="https://c4.staticflickr.com/9/8031/29659422675_84529724dd.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h3 id="national-park-parliament"&gt;&lt;a class="toclink" href="#national-park-parliament"&gt;National Park Parliament&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Thingvellir …&lt;/strong&gt;&lt;/p&gt;</summary><content type="html">

&lt;p&gt;After a long, stressful first semester exam-period, I spent my brief time off traveling to two completely opposite places I’ve been wanting to visit for a very long time: &lt;strong&gt;Rome, Italy&lt;/strong&gt; and &lt;strong&gt;Iceland&lt;/strong&gt;: one of the coldest winter destinations I could imagine, but a place of stunning natural beauty.&lt;/p&gt;
&lt;p&gt;Over the past years, Iceland has gained somewhat of a reputation for its hipster trends and excellent music scene (both true), but its biggest attraction to me personally remains its wild, barren landscapes: sceneries that appeared downright alien at times.&lt;/p&gt;
&lt;p&gt;What follows is our brief itinerary through this beautiful country.&lt;/p&gt;

&lt;h1 id="brief-history"&gt;&lt;a class="toclink" href="#brief-history"&gt;Brief history &lt;i class="icon-history small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Iceland, a volcanically active island close to the Arctic Circle, was first inhabited by in the 9&lt;sup&gt;th&lt;/sup&gt; century by, traditionally claimed, vikings or Norwegian settlers. Most of present-day Icelandic culture finds its roots in its Scandinavian heritage, and even now is mostly famous for its medieval sagas and traditional literature and cuisine, as well as its language closely related to Old Norse.&lt;/p&gt;
&lt;p&gt;As the Icelandic plateau is one of the newest in the world, the surroundings closely resemble what our continents must’ve looked like millions of years ago. Agriculturally wise, almost everything is imported from countries as Canada, as the only native growths here are limited to bleak bushes.&lt;/p&gt;
&lt;h1 id="itinerary"&gt;&lt;a class="toclink" href="#itinerary"&gt;Itinerary &lt;i class="icon-plane small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Having only a few days off in-between my exams and the start of my next semester, we were very limited in our itinerary. Even more, neither of us had a driver license at this point, so we were forced to book several tours to show us around (a thing I generally dislike, but actually ended up really pleasant). We stayed several nights in Reykjavik as day-trips to iconic views were easiest to reach.&lt;/p&gt;
&lt;h2 id="golden-circle-tour"&gt;&lt;a class="toclink" href="#golden-circle-tour"&gt;Golden Circle Tour&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;On our first proper day, we took a tour leading us through the &lt;strong&gt;Golden Circle&lt;/strong&gt;, the most popular tourist route in Iceland. the host driving us around was an elderly man taking great pride in his viking roots and often talked of bygone farmer days and Icelandic folklore.&lt;/p&gt;
&lt;p&gt;On our way to our first hallmark, we encountered these beauties:&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/29659421145/in/album-72157672690983682/" title="Icelandic Horses"&gt;&lt;img alt="Icelandic Horses" src="https://c2.staticflickr.com/9/8116/29659421145_d7c95e17db_b.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/29368542150/in/album-72157672690983682/" title="Icelandic Horse"&gt;&lt;img alt="Icelandic Horse" src="https://c7.staticflickr.com/9/8349/29368542150_58d6c26d02.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h3 id="geysir"&gt;&lt;a class="toclink" href="#geysir"&gt;Geysir&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Geysir&lt;/strong&gt; is the geyser the English word is derived from and erupts about every 10 minutes, hurling boiling water up to 70 meters in the air.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/30520292645/in/album-72157672690983682/" title="Geyser"&gt;&lt;img alt="Geyser" src="https://c6.staticflickr.com/6/5537/30520292645_66270303bc.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h3 id="gulfoss"&gt;&lt;a class="toclink" href="#gulfoss"&gt;Gulfoss&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Gulfoss&lt;/strong&gt;, the Icelandic term for “Golden Falls”, is an iconic waterfall located in the midst of a large canyon.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/29368545040/in/album-72157672690983682/" title="Iceland waterfall"&gt;&lt;img alt="Iceland waterfall" src="https://c1.staticflickr.com/9/8716/29368545040_a4038c7490.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/29548193752/in/album-72157672690983682/" title="Iceland waterfall"&gt;&lt;img alt="Iceland waterfall" src="https://c1.staticflickr.com/9/8061/29548193752_26c6213969.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;a class="center border" href="https://www.flickr.com/photos/147061735@N04/29659422675/in/album-72157672690983682/" title="Iceland waterfall"&gt;&lt;img alt="Iceland waterfall" src="https://c4.staticflickr.com/9/8031/29659422675_84529724dd.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h3 id="national-park-parliament"&gt;&lt;a class="toclink" href="#national-park-parliament"&gt;National Park Parliament&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Thingvellir&lt;/strong&gt;, a national mark in southwestern Iceland, lies in a valley known for its &lt;em&gt;Althing&lt;/em&gt;, the national Parliament. It was established in 930 and is generally considered as the founding point of the Icelandic nation. It held sessions until 1798, and is thus one of the longest-running parliaments in the world.&lt;/p&gt;
&lt;h2 id="northern-lights"&gt;&lt;a class="toclink" href="#northern-lights"&gt;Northern Lights&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;In the evening, we took a bus to a more desolate spot outside of the city and waited for polar activity. We were extremely lucky to have a clear sky in this period (heavy snowstorms hit Iceland shortly before our arrival as well as on our last day) and after a few hours of waiting were graced with &lt;em&gt;ghostly green shimmmers dancing in the dark&lt;/em&gt; (excuse my attempt at sounding poetic). Alas my camera was not strong enough to record any of this, so you’ll just have to take my word for it’s magic.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/29032893414/in/album-72157672690983682/" title="Iceland sunset"&gt;&lt;img alt="Iceland sunset" src="https://c7.staticflickr.com/9/8762/29032893414_0e640eed41_b.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h2 id="second-tour"&gt;&lt;a class="toclink" href="#second-tour"&gt;Second Tour&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The next day, we took another tour driving us around several other landmarks, including the famous volcano Eyjafjallajokull which erupted in 2010. Our host, an extremely pragmatic man, felt no need to recite nostalgic childhood memories and instead informed us on current-day issues such as the economic crisis, the political system and farmers’ daily lives.&lt;/p&gt;
&lt;h3 id="eyjafjallajokull"&gt;&lt;a class="toclink" href="#eyjafjallajokull"&gt;Eyjafjallajokull&lt;/a&gt;&lt;/h3&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/29032899424/in/album-72157672690983682/" title="Eyjafjallajökull"&gt;&lt;img alt="Eyjafjallajökull" src="https://c1.staticflickr.com/9/8122/29032899424_e2d7e7b85f.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h3 id="vatna-glacier"&gt;&lt;a class="toclink" href="#vatna-glacier"&gt;Vatna Glacier&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Fans of Game of Thrones might recognize &lt;strong&gt;Vatnajökull&lt;/strong&gt;, the largest ice cap in Iceland, as a scene in the series’ second season. The barren surroundings contrasted strongly with the bright, blue reflection of the enormous mass of ice in front of us.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/29577905711/in/album-72157672690983682/" title="Glacier"&gt;&lt;img alt="Glacier" src="https://c8.staticflickr.com/9/8440/29577905711_3c53a5430e.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h3 id="black-sea"&gt;&lt;a class="toclink" href="#black-sea"&gt;Black Sea&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Our last stop was the &lt;strong&gt;Reynisfjara shore&lt;/strong&gt;, a black pebble beach near an impressive cliff. A snowstorm hit us around this period and walking around was extremely difficult.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/29368549830/in/album-72157672690983682/" title="Cold terrain"&gt;&lt;img alt="Cold terrain" src="https://c7.staticflickr.com/9/8238/29368549830_2c1afdd7f0.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h2 id="reykjavik"&gt;&lt;a class="toclink" href="#reykjavik"&gt;Reykjavik&lt;/a&gt;&lt;/h2&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/29368550540/in/album-72157672690983682/" title="Odinsgata street in helsinki"&gt;&lt;img alt="Odinsgata street in helsinki" src="https://c5.staticflickr.com/9/8167/29368550540_300561f68c.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;a class="center border" href="https://www.flickr.com/photos/147061735@N04/30483920536/in/album-72157672690983682/" title="Reykjavik"&gt;&lt;img alt="Reykjavik" src="https://c1.staticflickr.com/6/5728/30483920536_5434433c0e.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;We spent one day walking around Iceland’s capital, a city with a population of around 130,000. Bearded men walk around wearing lumberjack shirts in the middle of the winter, and blend in well with the picturesque and colourful houses as well as the various boutiques and stores that could only be referred to as being hipster.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/29368550540/in/album-72157672690983682/" title="Barber"&gt;&lt;img alt="Barber" src="https://c4.staticflickr.com/6/5673/29903225083_2ca97b856e_b.jpg" style="height: 45%;"/&gt;&lt;/a&gt;
&lt;a class="center border" href="https://www.flickr.com/photos/147061735@N04/30483920536/in/album-72157672690983682/" title="Bar"&gt;&lt;img alt="Bar" src="https://c5.staticflickr.com/6/5791/30237916820_888c045797_b.jpg" style="height: 45%;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;We visited spots as the Reykjavik Concert &amp;amp; Conference Center, known for its beautiful glass architecture, and the Church of Hallgrimur, the largest church in Iceland.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/30483921506/in/album-72157672690983682/" title="Reykjavik Church"&gt;&lt;img alt="Reykjavik Church" src="https://c3.staticflickr.com/6/5520/30483921506_4d4844ee96.jpg" style="height:50%;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;We had some great food and shopping around this place, but by the time we were ready to depart to our final destination, another heavy snowstorm made its appearance. Thanks to a kind by-passer we reached our bus-stop in time for a drive to Kevlavik, a small village close by the airport. As our airplane left quite early the next morning, we felt it’d be safest to spend our night nearby.&lt;/p&gt;
&lt;h2 id="kevlavik"&gt;&lt;a class="toclink" href="#kevlavik"&gt;Kevlavik&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Unfortunately, our bus stop was pretty far from our actual destination, and as Kevlavik was formed around and out-of-use military base, nothing really stood out as bed &amp;amp; breakfast kind of place. By this time, the storm reached a peak with winds reading over 80KM per hour, and walking through either 30cCMof snow or slippery ice made this an impossible feat, especially since we were all by ourselves. At one point we were literally clinging to the pole of a traffic light for approximately 10 minutes (felt longer) until a car passing by was kind enough to give us a ride to our B&amp;amp;B. Safe to say, we didn’t go out again for sightseeing that day.&lt;/p&gt;
&lt;h1 id="music"&gt;&lt;a class="toclink" href="#music"&gt;Music &lt;i class="icon-music small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;When traveling, I make it a habit of finding new music by listening to local radio stations or asking recommendations to people I meet in hostels or bars - It’s my own personal souvenir and sticks better in my mind than regular touristic souvenirs.&lt;/p&gt;
&lt;p&gt;Despite a relatively small population, Iceland (particularly Reykjavik) is well known for having an excellent music scene, with such world-class acts as &lt;em&gt;Bjork&lt;/em&gt;, &lt;em&gt;Sigur Ros&lt;/em&gt; and &lt;em&gt;Of Monsters and Men&lt;/em&gt;. I came across this trip’s band, &lt;strong&gt;Kiasmos&lt;/strong&gt;, while visiting a bookstore and swiftly fell in love with the duo’s  experimental, almost drone-like ambient electronic music.&lt;/p&gt;
&lt;p&gt;&lt;span class="videobox"&gt;
&lt;iframe allowfullscreen="" frameborder="0" height="390" mozallowfullscreen="" src="https://www.youtube.com/embed/jGQn3xHQz0s" webkitallowfullscreen="" width="640"&gt;
&lt;/iframe&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;One of the duo’s members, &lt;strong&gt;Ólafur Arnalds&lt;/strong&gt;, has already built a name for himself mixing his classical piano background with electronic influences and is definitely one to remember as well!&lt;/p&gt;
&lt;h1 id="conclusion"&gt;&lt;a class="toclink" href="#conclusion"&gt;Conclusion &lt;i class="icon-smile small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;It’s a shame we had such a short stay, as Iceland came over as a beautiful country unlike any other, with a rich and fascinating history and splendid alien-like landmarks. Our personal biggest drawbacks were a lack of money and driving licenses; I would definitely return if neither of these formed a problem.&lt;/p&gt;
&lt;h1 id="gallery"&gt;&lt;a class="toclink" href="#gallery"&gt;Gallery &lt;i class="icon-camera-retro small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;style&gt;.embed-container { position: relative; padding-bottom: 56.25%; padding-top: 30px; height: 0; overflow: hidden; max-width: 100%; height: auto; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }&lt;/style&gt;
&lt;div class="embed-container"&gt;&lt;iframe allowfullscreen="" frameborder="0" mozallowfullscreen="" msallowfullscreen="" oallowfullscreen="" src="https://www.flickr.com/photos/147061735@N04/albums/72157672690983682/player" webkitallowfullscreen=""&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;div class="footnote"&gt;
&lt;hr/&gt;
&lt;ol&gt;
&lt;li id="fn-footnote"&gt;
&lt;p&gt;Iceland Winter by Stevie Poppe (&lt;a href="https://flic.kr/p/NskHGR"&gt;https://flic.kr/p/NskHGR&lt;/a&gt; - CC BY-SA 2.0) &lt;a class="footnote-backref" href="#fnref-footnote" title="Jump back to footnote 1 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="Personal"></category><category term="Travels"></category><category term="Iceland"></category></entry><entry><title>Travels: Romance in Rome</title><link href="https://steviepoppe.net/blog/2016/08/travels-romance-in-rome/" rel="alternate"></link><published>2016-08-26T00:00:00+02:00</published><updated>2016-08-26T00:00:00+02:00</updated><author><name>Stevie Poppe</name></author><id>tag:steviepoppe.net,2016-08-26:/blog/2016/08/travels-romance-in-rome/</id><summary type="html">

&lt;p&gt;After a long, stressful first semester exam-period, I spent my brief time off traveling to two completely opposite places I’ve been wanting to visit for a very long time: Iceland and the historic city of Rome, Italy, cradle to one of the most well-documented civilizations in western history. In order to recharge our batteries, we decided on this 4-day city trip and, looking back, it really did turn out to be a city that could only be described as a living, breathing open-air museum.&lt;/p&gt;
&lt;p&gt;What follows is our brief itinerary through this charming city.&lt;/p&gt;

&lt;h1 id="brief-history"&gt;&lt;a class="toclink" href="#brief-history"&gt;Brief history &lt;i class="icon-history small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Where does one start! Rome, Italy’s capital and largest city, has been an extremely influential city for nearly three-thousand years. What is now a global city popular for it’s fashion and design was once a small village on top of a hill that through a series of fascinating military and political events became center of a vast empire and location of Catholicism’s founding.&lt;/p&gt;
&lt;p&gt;Plenty of historical locations have been destroyed following Italy’s rise of Fascism and role in the second World War, but the historic center (Unesco World Heritage) remains as if untouched by time.&lt;/p&gt;
&lt;h1 id="itinerary"&gt;&lt;a class="toclink" href="#itinerary"&gt;Itinerary &lt;i class="icon-plane small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Having limited time, we spent all our time exploring the historical center of Rome and the Vatican. We spent three nights in a lovely bed &amp;amp; breakfast around 15 minutes away from the historical center; which was, due being located in what might might be perceived as a shabby neighborhood, extremely well priced.&lt;/p&gt;
&lt;h2 id="day-1"&gt;&lt;a class="toclink" href="#day-1"&gt;Day 1&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;We spent our first day strolling around the city’s historical center and experiencing some of the more popular destinations such as the famous &lt;strong&gt;Spanish Steps&lt;/strong&gt; square and &lt;strong&gt;Trevi Fountain&lt;/strong&gt;.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/29548322602/in/album-72157672616633970/" title="Street to Spanish Steps"&gt;&lt;img "="" alt="Street to Spanish Steps" src="https://c3.staticflickr.com/9/8766/29548322602_8d9fa0e2c2_b.jpg" style="height:500px;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;As fans of English Romanticism (including poets as &lt;em&gt;Byron&lt;/em&gt;, &lt;em&gt;Shelly&lt;/em&gt; and &lt;em&gt;Keats&lt;/em&gt; we spent a bit of time in what is now a museum dedicated to Keats: the &lt;strong&gt;Keats-Shelley Memorial House museum&lt;/strong&gt;.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/29032997714/in/album-72157672616633970/" title="Rome Skyline"&gt;&lt;img alt="Rome Skyline" src="https://c4.staticflickr.com/9/8470/29034772843_795100ab25_b.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;We concluded our evening having the most classic dinner one might expect of tourists in Italy: pizza and tiramissu (no regrets).&lt;/p&gt;
&lt;h2 id="day-2"&gt;&lt;a class="toclink" href="#day-2"&gt;Day 2&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Our second day was mostly centered around Rome’s ancient &lt;strong&gt;Colosseum&lt;/strong&gt;, &lt;strong&gt;Palatine Hill&lt;/strong&gt; and the massive &lt;strong&gt;Roman Forum&lt;/strong&gt;. Beautiful ruins rich in history made this area an unforgettable experience.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/29032997714/in/album-72157672616633970/" title="Colosseum"&gt;&lt;img alt="Colosseum" src="https://c3.staticflickr.com/9/8306/29032997714_5fc1215ae6_b.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;It turns out this area is popular amongst conservatory students as well. Excellent, sunny weather (in the middle of winter!) and a classical violist nearby reciting Vivaldi made for a lovely picnic~.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/29032997714/in/album-72157672616633970/" title="Rome Skyline"&gt;&lt;img alt="Rome Skyline" src="https://c7.staticflickr.com/9/8174/29548318702_fa92ce10fd_b.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/29032999364/in/album-72157672616633970/" title="Roman Forum"&gt;&lt;img alt="Roman Forum" src="https://c5.staticflickr.com/9/8799/29032999364_2b8c78b94d_b.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;a class="center border" href="https://www.flickr.com/photos/147061735@N04/29032999364/in/album-72157672616633970/" title="Roman Forum"&gt;&lt;img alt="Roman Forum" src="https://c1.staticflickr.com/9/8555/29368660840_dbae0e17d8_b.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Later in the …&lt;/p&gt;</summary><content type="html">

&lt;p&gt;After a long, stressful first semester exam-period, I spent my brief time off traveling to two completely opposite places I’ve been wanting to visit for a very long time: Iceland and the historic city of Rome, Italy, cradle to one of the most well-documented civilizations in western history. In order to recharge our batteries, we decided on this 4-day city trip and, looking back, it really did turn out to be a city that could only be described as a living, breathing open-air museum.&lt;/p&gt;
&lt;p&gt;What follows is our brief itinerary through this charming city.&lt;/p&gt;

&lt;h1 id="brief-history"&gt;&lt;a class="toclink" href="#brief-history"&gt;Brief history &lt;i class="icon-history small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Where does one start! Rome, Italy’s capital and largest city, has been an extremely influential city for nearly three-thousand years. What is now a global city popular for it’s fashion and design was once a small village on top of a hill that through a series of fascinating military and political events became center of a vast empire and location of Catholicism’s founding.&lt;/p&gt;
&lt;p&gt;Plenty of historical locations have been destroyed following Italy’s rise of Fascism and role in the second World War, but the historic center (Unesco World Heritage) remains as if untouched by time.&lt;/p&gt;
&lt;h1 id="itinerary"&gt;&lt;a class="toclink" href="#itinerary"&gt;Itinerary &lt;i class="icon-plane small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Having limited time, we spent all our time exploring the historical center of Rome and the Vatican. We spent three nights in a lovely bed &amp;amp; breakfast around 15 minutes away from the historical center; which was, due being located in what might might be perceived as a shabby neighborhood, extremely well priced.&lt;/p&gt;
&lt;h2 id="day-1"&gt;&lt;a class="toclink" href="#day-1"&gt;Day 1&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;We spent our first day strolling around the city’s historical center and experiencing some of the more popular destinations such as the famous &lt;strong&gt;Spanish Steps&lt;/strong&gt; square and &lt;strong&gt;Trevi Fountain&lt;/strong&gt;.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/29548322602/in/album-72157672616633970/" title="Street to Spanish Steps"&gt;&lt;img "="" alt="Street to Spanish Steps" src="https://c3.staticflickr.com/9/8766/29548322602_8d9fa0e2c2_b.jpg" style="height:500px;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;As fans of English Romanticism (including poets as &lt;em&gt;Byron&lt;/em&gt;, &lt;em&gt;Shelly&lt;/em&gt; and &lt;em&gt;Keats&lt;/em&gt; we spent a bit of time in what is now a museum dedicated to Keats: the &lt;strong&gt;Keats-Shelley Memorial House museum&lt;/strong&gt;.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/29032997714/in/album-72157672616633970/" title="Rome Skyline"&gt;&lt;img alt="Rome Skyline" src="https://c4.staticflickr.com/9/8470/29034772843_795100ab25_b.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;We concluded our evening having the most classic dinner one might expect of tourists in Italy: pizza and tiramissu (no regrets).&lt;/p&gt;
&lt;h2 id="day-2"&gt;&lt;a class="toclink" href="#day-2"&gt;Day 2&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Our second day was mostly centered around Rome’s ancient &lt;strong&gt;Colosseum&lt;/strong&gt;, &lt;strong&gt;Palatine Hill&lt;/strong&gt; and the massive &lt;strong&gt;Roman Forum&lt;/strong&gt;. Beautiful ruins rich in history made this area an unforgettable experience.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/29032997714/in/album-72157672616633970/" title="Colosseum"&gt;&lt;img alt="Colosseum" src="https://c3.staticflickr.com/9/8306/29032997714_5fc1215ae6_b.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;It turns out this area is popular amongst conservatory students as well. Excellent, sunny weather (in the middle of winter!) and a classical violist nearby reciting Vivaldi made for a lovely picnic~.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/29032997714/in/album-72157672616633970/" title="Rome Skyline"&gt;&lt;img alt="Rome Skyline" src="https://c7.staticflickr.com/9/8174/29548318702_fa92ce10fd_b.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/29032999364/in/album-72157672616633970/" title="Roman Forum"&gt;&lt;img alt="Roman Forum" src="https://c5.staticflickr.com/9/8799/29032999364_2b8c78b94d_b.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;a class="center border" href="https://www.flickr.com/photos/147061735@N04/29032999364/in/album-72157672616633970/" title="Roman Forum"&gt;&lt;img alt="Roman Forum" src="https://c1.staticflickr.com/9/8555/29368660840_dbae0e17d8_b.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Later in the evening we visited the &lt;strong&gt;Pantheon&lt;/strong&gt;, a basilica dating back to 27 BCE, and architecturally quite impressive.&lt;/p&gt;
&lt;h2 id="day-3"&gt;&lt;a class="toclink" href="#day-3"&gt;Day 3&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Our third day was mostly focused on the &lt;strong&gt;Borghese Gardens&lt;/strong&gt; (we ended up renting a rowing boat!) and its excellent art museum including works of &lt;em&gt;Bernini&lt;/em&gt;. Turns out ordering a chocolate milk in Rome will net you a solid chocomousse-like dessert. Cultural differences!&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/29548321492/in/album-72157672616633970/" title="Fairytale cottage"&gt;&lt;img alt="Fairytale cottage" src="https://c5.staticflickr.com/9/8366/29548321492_f9fde645fe_b.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h2 id="day-4"&gt;&lt;a class="toclink" href="#day-4"&gt;Day 4&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Our fourth and last day, a Sunday, was an excellent time to visit the &lt;strong&gt;Vatican City&lt;/strong&gt; and gain a potential bar-bragging story by experiencing a Pope Francis speech live.&lt;/p&gt;
&lt;p&gt;The &lt;strong&gt;Sistine Chapel&lt;/strong&gt;‘s queues are legendary and despite being out of season, today was not an exception. We could’ve easily queued for 4 hours so we wisely decided on admiring &lt;strong&gt;St. Peter’s Basilica&lt;/strong&gt; instead. I’m not religious, but the general atmosphere in Vatican City was quite enjoyable and reminiscent of that often felt at music festivals: a small band was performing live music while an enormous crowd, including a surprising amount of young people, lined up to see the Pope’s speech. Not speaking Italian or being religious made me feel slightly out of place however.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/29548320072/in/album-72157672616633970/" title="Chapel"&gt;&lt;img alt="Chapel" src="https://c1.staticflickr.com/9/8128/29548320072_309b0c9d82_b.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/29034773943/in/album-72157672616633970/" title="Swamps"&gt;&lt;img alt="Swamps" src="https://c8.staticflickr.com/9/8174/29034773943_b3884e2794_b.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;a class="center border" href="https://www.flickr.com/photos/147061735@N04/29034773943/in/album-72157672616633970/" title="Swamps"&gt;&lt;img alt="Swamps" src="https://c1.staticflickr.com/9/8240/29368656960_02cd3a3d9b_b.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h1 id="music"&gt;&lt;a class="toclink" href="#music"&gt;Music &lt;i class="icon-music small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;When traveling, I make it a habit of finding new music by listening to local radio stations or asking recommendations to people I meet in hostels or bars - It’s my own personal souvenir and sticks better in my mind than regular touristic souvenirs.&lt;/p&gt;
&lt;p&gt;This trip’s band is &lt;strong&gt;&lt;a href="https://en.wikipedia.org/wiki/Zu_(band)"&gt;Zu&lt;/a&gt;&lt;/strong&gt;, an experimental band hailing from Rome and often defined as being a mix of &lt;em&gt;dark jazz&lt;/em&gt; (whatever that might be~), math rock and noise. It’s definitely not an easy listen, but highly atmospheric and I’ve grown surprisingly fond of it.&lt;/p&gt;
&lt;p&gt;The following song is a collaboration with fellow noise-jazz band &lt;a href="https://en.wikipedia.org/wiki/Il_Teatro_degli_Orrori"&gt;Il Teatro Degli orrori&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;span class="videobox"&gt;
&lt;iframe allowfullscreen="" frameborder="0" height="390" mozallowfullscreen="" src="https://www.youtube.com/embed/aL8yZjstgnk" webkitallowfullscreen="" width="640"&gt;
&lt;/iframe&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;h1 id="conclusion"&gt;&lt;a class="toclink" href="#conclusion"&gt;Conclusion &lt;i class="icon-smile small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Calling Rome a living, breathing open-air museum is certainly no overstatement. One might wander for hours through the historical center’s alleys and side streets and still discover new beautiful sightings and hidden surprises.&lt;/p&gt;
&lt;p&gt;Italian food is famous across the world and rightly so. Restaurants in the historical center are generally considered tourist traps, but just a few minutes of extra walking took us to great, affordable destinations.&lt;/p&gt;
&lt;p&gt;Finally, and this is probably accountable for traveling out of season but despite being such a popular destination we’ve hardly ever felt overcrowded or had shady figures approaching us at touristic viewpoints, as we’ve experienced in places as London or Paris.&lt;/p&gt;
&lt;p&gt;All in all, Rome ended up a perfect romantic city-trip destination and highly affordable even for the poor students amongst us! We spent four days, which felt fine enough, but we could’ve easily stayed longer and still discover plenty more.&lt;/p&gt;
&lt;h1 id="gallery"&gt;&lt;a class="toclink" href="#gallery"&gt;Gallery &lt;i class="icon-camera-retro small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;style&gt;.embed-container { position: relative; padding-bottom: 56.25%; padding-top: 30px; height: 0; overflow: hidden; max-width: 100%; height: auto; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }&lt;/style&gt;
&lt;div class="embed-container"&gt;&lt;iframe allowfullscreen="" frameborder="0" mozallowfullscreen="" msallowfullscreen="" oallowfullscreen="" src="https://www.flickr.com/photos/147061735@N04/albums/72157672616633970/player" webkitallowfullscreen=""&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;div class="footnote"&gt;
&lt;hr/&gt;
&lt;ol&gt;
&lt;li id="fn-footnote"&gt;
&lt;p&gt;Rome Skyline by Stevie Poppe (&lt;a href="https://flic.kr/p/LeGNpM"&gt;https://flic.kr/p/LeGNpM&lt;/a&gt; - CC BY-SA 2.0) &lt;a class="footnote-backref" href="#fnref-footnote" title="Jump back to footnote 1 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="Personal"></category><category term="Travels"></category><category term="Rome"></category><category term="Italy"></category></entry><entry><title>Pelican Plugin: CSS-only footnote pop-up</title><link href="https://steviepoppe.net/blog/2016/08/pelican-plugin-css-only-footnote-pop-up/" rel="alternate"></link><published>2016-08-25T00:00:00+02:00</published><updated>2016-08-25T00:00:00+02:00</updated><author><name>Stevie Poppe</name></author><id>tag:steviepoppe.net,2016-08-25:/blog/2016/08/pelican-plugin-css-only-footnote-pop-up/</id><summary type="html">
&lt;p&gt;Footnotes are a classic staple in any writer’s toolbox, allowing them to, in an unobtrusive way, cite sources or display additional information not directly related to the original argument. Nevertheless it is my impression that online footnotes, through the way they are often implemented imitating printed media footnotes, come over quite counterintuitive and force the reader to disrupt his reading flow,failing to make use of today’s extensive web design possibilities.&lt;/p&gt;
&lt;p&gt;As I royally use footnotes in my markdown writing work-flow&lt;sup&gt;&lt;/sup&gt; I figured I’d get acquainted with the Pelican documentation a bit and write a small unobtrusive CSS pop-up plugin to display these on hover for those devices that support it.&lt;sup&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;My solution is pretty rough and based on the way Python-Markdown parses markdown into HTML. As it’s a quick ‘n dirty workaround untested with other parsers, I have no intention to further maintain this code so feel free to use it however you’d like.&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt; 1&lt;/span&gt;
&lt;span class="normal"&gt; 2&lt;/span&gt;
&lt;span class="normal"&gt; 3&lt;/span&gt;
&lt;span class="normal"&gt; 4&lt;/span&gt;
&lt;span class="normal"&gt; 5&lt;/span&gt;
&lt;span class="normal"&gt; 6&lt;/span&gt;
&lt;span class="normal"&gt; 7&lt;/span&gt;
&lt;span class="normal"&gt; 8&lt;/span&gt;
&lt;span class="normal"&gt; 9&lt;/span&gt;
&lt;span class="normal"&gt;10&lt;/span&gt;
&lt;span class="normal"&gt;11&lt;/span&gt;
&lt;span class="normal"&gt;12&lt;/span&gt;
&lt;span class="normal"&gt;13&lt;/span&gt;
&lt;span class="normal"&gt;14&lt;/span&gt;
&lt;span class="normal"&gt;15&lt;/span&gt;
&lt;span class="normal"&gt;16&lt;/span&gt;
&lt;span class="normal"&gt;17&lt;/span&gt;
&lt;span class="normal"&gt;18&lt;/span&gt;
&lt;span class="normal"&gt;19&lt;/span&gt;
&lt;span class="normal"&gt;20&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;    &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;content_object_init&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;instance&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;

        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;instance&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;_content&lt;/span&gt; &lt;span class="ow"&gt;is&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="kc"&gt;None&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="n"&gt;content&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;instance&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;_content&lt;/span&gt;
            &lt;span class="n"&gt;soup&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;BeautifulSoup&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;content&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'html.parser'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

            &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="s1"&gt;'sup'&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                &lt;span class="n"&gt;footnotes&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;soup&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;find&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;class_&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"footnote"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;find_all&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'p'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
                &lt;span class="n"&gt;footnoteref&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;soup&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;find_all&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;class_&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"footnote-ref"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

                &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;index&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;item&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nb"&gt;enumerate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;footnotes&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
                    &lt;span class="n"&gt;footnoteref&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;index&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;parent&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'class'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'popup_footnote'&lt;/span&gt;
                    &lt;span class="n"&gt;tag&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;soup&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;new_tag&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'span'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
                    &lt;span class="n"&gt;tag&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;BeautifulSoup&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;item&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;decode_contents&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt; &lt;span class="s1"&gt;'html.parser'&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
                    &lt;span class="n"&gt;footnoteref&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;index&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;insert_after&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tag&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

            &lt;span class="n"&gt;instance&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;_content&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;soup&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;decode&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

    &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;register&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
        &lt;span class="n"&gt;signals&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;content_object_init&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;connect&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;content_object_init&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;For simplicity’s sake I use the BeautifulSoup library to locate all footnote references and their respective footnotes. Then I loop through them and copy the contents of the footnote in a ‘popup_footnote’ span I append to the footnote reference container.&lt;/p&gt;
&lt;p&gt;Styling is done in CSS. Below is my markup. I use &lt;code&gt;left: 50%;&lt;/code&gt; &lt;code&gt;transform: translate(-50%, 0);&lt;/code&gt; to center the absolute-positioned pop-up over the footnote reference.&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt; 1&lt;/span&gt;
&lt;span class="normal"&gt; 2&lt;/span&gt;
&lt;span class="normal"&gt; 3&lt;/span&gt;
&lt;span class="normal"&gt; 4&lt;/span&gt;
&lt;span class="normal"&gt; 5&lt;/span&gt;
&lt;span class="normal"&gt; 6&lt;/span&gt;
&lt;span class="normal"&gt; 7&lt;/span&gt;
&lt;span class="normal"&gt; 8&lt;/span&gt;
&lt;span class="normal"&gt; 9&lt;/span&gt;
&lt;span class="normal"&gt;10&lt;/span&gt;
&lt;span class="normal"&gt;11&lt;/span&gt;
&lt;span class="normal"&gt;12&lt;/span&gt;
&lt;span class="normal"&gt;13&lt;/span&gt;
&lt;span class="normal"&gt;14&lt;/span&gt;
&lt;span class="normal"&gt;15&lt;/span&gt;
&lt;span class="normal"&gt;16&lt;/span&gt;
&lt;span class="normal"&gt;17&lt;/span&gt;
&lt;span class="normal"&gt;18&lt;/span&gt;
&lt;span class="normal"&gt;19&lt;/span&gt;
&lt;span class="normal"&gt;20&lt;/span&gt;
&lt;span class="normal"&gt;21&lt;/span&gt;
&lt;span class="normal"&gt;22&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;    &lt;span class="nt"&gt;sup&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;popup_footnote&lt;/span&gt; &lt;span class="nt"&gt;span&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;   
        &lt;span class="k"&gt;text-align&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;justify&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="k"&gt;z-index&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="k"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;none&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
        &lt;span class="k"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="k"&gt;line-height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;16&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="k"&gt;opacity&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;0.9&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="k"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="k"&gt;box-shadow&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="mh"&gt;#D4D4D4&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="k"&gt;top&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="k"&gt;left&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;50&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="k"&gt;transform&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;translate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;-50&lt;/span&gt;&lt;span class="err"&gt;%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="k"&gt;position&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;absolute&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
        &lt;span class="k"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;250&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="nt"&gt;sup&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;popup_footnote&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nd"&gt;hover&lt;/span&gt; &lt;span class="nt"&gt;span&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;inline&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
        &lt;span class="k"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#111&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="k"&gt;border&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="kc"&gt;solid&lt;/span&gt; &lt;span class="mh"&gt;#eaeaea&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="k"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#fffcfc&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
      &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;The downside …&lt;/p&gt;</summary><content type="html">

&lt;p&gt;Footnotes are a classic staple in any writer&amp;rsquo;s toolbox, allowing them to, in an unobtrusive way, cite sources or display additional information not directly related to the original argument. Nevertheless it is my impression that online footnotes, through the way they are often implemented imitating printed media footnotes, come over quite counterintuitive and force the reader to disrupt his reading flow,failing to make use of today&amp;rsquo;s extensive web design possibilities.&lt;/p&gt;
&lt;p&gt;As I royally use footnotes in my markdown writing work-flow&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-1" id="fnref-1" rel="footnote"&gt;1&lt;/a&gt;&lt;/sup&gt; I figured I&amp;rsquo;d get acquainted with the Pelican documentation a bit and write a small unobtrusive CSS pop-up plugin to display these on hover for those devices that support it.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-2" id="fnref-2" rel="footnote"&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;


&lt;p&gt;My solution is pretty rough and based on the way Python-Markdown parses markdown into HTML. As it&amp;rsquo;s a quick &amp;lsquo;n dirty workaround untested with other parsers, I have no intention to further maintain this code so feel free to use it however you&amp;rsquo;d like.&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt; 1&lt;/span&gt;
&lt;span class="normal"&gt; 2&lt;/span&gt;
&lt;span class="normal"&gt; 3&lt;/span&gt;
&lt;span class="normal"&gt; 4&lt;/span&gt;
&lt;span class="normal"&gt; 5&lt;/span&gt;
&lt;span class="normal"&gt; 6&lt;/span&gt;
&lt;span class="normal"&gt; 7&lt;/span&gt;
&lt;span class="normal"&gt; 8&lt;/span&gt;
&lt;span class="normal"&gt; 9&lt;/span&gt;
&lt;span class="normal"&gt;10&lt;/span&gt;
&lt;span class="normal"&gt;11&lt;/span&gt;
&lt;span class="normal"&gt;12&lt;/span&gt;
&lt;span class="normal"&gt;13&lt;/span&gt;
&lt;span class="normal"&gt;14&lt;/span&gt;
&lt;span class="normal"&gt;15&lt;/span&gt;
&lt;span class="normal"&gt;16&lt;/span&gt;
&lt;span class="normal"&gt;17&lt;/span&gt;
&lt;span class="normal"&gt;18&lt;/span&gt;
&lt;span class="normal"&gt;19&lt;/span&gt;
&lt;span class="normal"&gt;20&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;    &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;content_object_init&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;instance&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;

        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;instance&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;_content&lt;/span&gt; &lt;span class="ow"&gt;is&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="kc"&gt;None&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="n"&gt;content&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;instance&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;_content&lt;/span&gt;
            &lt;span class="n"&gt;soup&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;BeautifulSoup&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;content&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;html.parser&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

            &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;sup&amp;#39;&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                &lt;span class="n"&gt;footnotes&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;soup&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;find&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;class_&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;footnote&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;find_all&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;p&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
                &lt;span class="n"&gt;footnoteref&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;soup&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;find_all&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;class_&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;footnote-ref&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

                &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;index&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;item&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nb"&gt;enumerate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;footnotes&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
                    &lt;span class="n"&gt;footnoteref&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;index&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;parent&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;class&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;popup_footnote&amp;#39;&lt;/span&gt;
                    &lt;span class="n"&gt;tag&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;soup&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;new_tag&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;span&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
                    &lt;span class="n"&gt;tag&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;BeautifulSoup&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;item&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;decode_contents&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;html.parser&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
                    &lt;span class="n"&gt;footnoteref&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;index&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;insert_after&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tag&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

            &lt;span class="n"&gt;instance&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;_content&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;soup&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;decode&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

    &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;register&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
        &lt;span class="n"&gt;signals&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;content_object_init&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;connect&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;content_object_init&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;For simplicity&amp;rsquo;s sake I use the BeautifulSoup library to locate all footnote references and their respective footnotes. Then I loop through them and copy the contents of the footnote in a &amp;lsquo;popup_footnote&amp;rsquo; span I append to the footnote reference container.&lt;/p&gt;
&lt;p&gt;Styling is done in CSS. Below is my markup. I use &lt;code&gt;left: 50%;&lt;/code&gt; &lt;code&gt;transform: translate(-50%, 0);&lt;/code&gt; to center the absolute-positioned pop-up over the footnote reference.&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt; 1&lt;/span&gt;
&lt;span class="normal"&gt; 2&lt;/span&gt;
&lt;span class="normal"&gt; 3&lt;/span&gt;
&lt;span class="normal"&gt; 4&lt;/span&gt;
&lt;span class="normal"&gt; 5&lt;/span&gt;
&lt;span class="normal"&gt; 6&lt;/span&gt;
&lt;span class="normal"&gt; 7&lt;/span&gt;
&lt;span class="normal"&gt; 8&lt;/span&gt;
&lt;span class="normal"&gt; 9&lt;/span&gt;
&lt;span class="normal"&gt;10&lt;/span&gt;
&lt;span class="normal"&gt;11&lt;/span&gt;
&lt;span class="normal"&gt;12&lt;/span&gt;
&lt;span class="normal"&gt;13&lt;/span&gt;
&lt;span class="normal"&gt;14&lt;/span&gt;
&lt;span class="normal"&gt;15&lt;/span&gt;
&lt;span class="normal"&gt;16&lt;/span&gt;
&lt;span class="normal"&gt;17&lt;/span&gt;
&lt;span class="normal"&gt;18&lt;/span&gt;
&lt;span class="normal"&gt;19&lt;/span&gt;
&lt;span class="normal"&gt;20&lt;/span&gt;
&lt;span class="normal"&gt;21&lt;/span&gt;
&lt;span class="normal"&gt;22&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;    &lt;span class="nt"&gt;sup&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;popup_footnote&lt;/span&gt; &lt;span class="nt"&gt;span&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;   
        &lt;span class="k"&gt;text-align&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;justify&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="k"&gt;z-index&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="k"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;none&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
        &lt;span class="k"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="k"&gt;line-height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;16&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="k"&gt;opacity&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;0.9&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="k"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="k"&gt;box-shadow&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="mh"&gt;#D4D4D4&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="k"&gt;top&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="k"&gt;left&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;50&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="k"&gt;transform&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;translate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;-50&lt;/span&gt;&lt;span class="err"&gt;%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="k"&gt;position&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;absolute&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
        &lt;span class="k"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;250&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="nt"&gt;sup&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;popup_footnote&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nd"&gt;hover&lt;/span&gt; &lt;span class="nt"&gt;span&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;inline&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
        &lt;span class="k"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#111&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="k"&gt;border&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="kc"&gt;solid&lt;/span&gt; &lt;span class="mh"&gt;#eaeaea&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="k"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#fffcfc&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
      &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;The downside to this CSS-only implementation (next to having double content in your markup) is that it fails to respond well to responsive design. Fixed-size pop-ups relative to the footnote pointer could result in a potential screen overflow. If this is an issue, the only alternative is using jquery and calculate the position of your reference relative to the window border and use this to calculate an ideal pop-up location. Of course if you&amp;rsquo;re relying on the jquery library either way you might as well use that to copy the footnote on hover instead of above&amp;rsquo;s solution. For such an example, I recommend &lt;a href="http://ignorethecode.net/blog/2010/04/20/footnotes/"&gt;ignorethecode.net&amp;rsquo;s solution&lt;/a&gt;.&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn-1"&gt;
&lt;p&gt;The difficulty writing web-content with footnotes is distinguishing footnotes or direct links. I generally draw the line between source citation as footnote and useful information as direct link.&amp;#160;&lt;a class="footnote-backref" href="#fnref-1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-2"&gt;
&lt;p&gt;Using &lt;code&gt;:active&lt;/code&gt; to substitute the lack of proper hover on touch devices wouldn&amp;rsquo;t be effective as these pop-ups display over anchors. A dirty solution would be to use media tags and keep &lt;code&gt;display:none&lt;/code&gt; for mobile device widths, but with the blurring of lines between touch and mouse input devices lately this is not foolproof.&amp;#160;&lt;a class="footnote-backref" href="#fnref-2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="Technical"></category><category term="Pelican"></category><category term="Markdown"></category><category term="Python"></category><category term="Footnotes"></category></entry><entry><title>Travels: roadtrip through the Deep South</title><link href="https://steviepoppe.net/blog/2016/08/travels-roadtrip-through-the-deep-south/" rel="alternate"></link><published>2016-08-24T00:00:00+02:00</published><updated>2016-08-24T00:00:00+02:00</updated><author><name>Stevie Poppe</name></author><id>tag:steviepoppe.net,2016-08-24:/blog/2016/08/travels-roadtrip-through-the-deep-south/</id><summary type="html">

&lt;p&gt;Earlier this year, me and a couple of friends decided on a summer road-trip throughout the so-called &lt;em&gt;Deep South&lt;/em&gt;, the most southern states of the USA. As we have a shared history of playing in bands and writing music together, my friends and I thought it would be cool to purchase some second-hand instruments and travel through some of the more musically well-known states. This short blog covers our three-week itinerary, with plenty of pictures to go along.&lt;/p&gt;

&lt;h1 id="brief-history"&gt;&lt;a class="toclink" href="#brief-history"&gt;Brief history &lt;i class="icon-history small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;The Deep South refers to the seven slave states that originally joined forces in what became known as the Confederate States of America. The historical dependence on slave labor (as well as the proximity to Cuba and Mexico) means that the region has both a large present-day ethnic minority of African-Americans and Hispanic Americans (and a more apparent cultural mix). Therefore, parts of this particular region are also informally called Black Belt (as well as Bible Belt). Simultaneously the region politically tends to be more conservative-leaning; with historic revisionism in regards to the region’s role in, and dependence on, trans-Atlantic slavery often neglected in favor of ‘State rights’ rhetoric.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/29660068685/in/album-72157672692229522/" title="Desert"&gt;&lt;img alt="Desert" src="https://c6.staticflickr.com/9/8131/29660068685_cc58b07e01.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h1 id="itinerary"&gt;&lt;a class="toclink" href="#itinerary"&gt;Itinerary &lt;i class="icon-plane small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;We rented a relatively cheap car that would still be large enough to handle all five of us and our gear. Size-wise The car looked like a limousine, yet  paled in comparison to the cars driving around us; among our first cultural shocks right there. As most of us are still students, we left straight after our finals end of June. The summertime in the South is described as being relentlessly tough, so we made sure to have proper air-conditioning and plenty of water available.&lt;/p&gt;
&lt;p&gt;&lt;img alt="car" class="fcenter" src="https://steviepoppe.net/images/car.jpg" title="car"/&gt;&lt;/p&gt;
&lt;h2 id="florida"&gt;&lt;a class="toclink" href="#florida"&gt;Florida&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="miami"&gt;&lt;a class="toclink" href="#miami"&gt;Miami&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;After a fairly pleasant eight-hour flight, we arrived at Miami International Airport in Florida. Despite arriving late in the evening, it still took us over a whopping three hours of queuing just to get through border control. It was a Kafkaesque experience for sure; having to queue to use check-in machines and manual check-ups serving the exact same task, yet those manual check-ups were so superficial that it felt entirely unnecessary and a waste of time. An antiqued relic of post-911 measures?&lt;/p&gt;
&lt;p&gt;On our way out we passed about five fast-food chains within a minute of driving, as well as several drive-through gun shops and pharmacies, and big billboards advertising triple-bypasses. What a country.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/29035300123/in/album-72157672692229522/" title="Miami"&gt;&lt;img alt="Miami" src="https://c4.staticflickr.com/9/8094/29035300123_8272e91fed.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Some other memorable locations to us as foreigners …&lt;/p&gt;</summary><content type="html">

&lt;p&gt;Earlier this year, me and a couple of friends decided on a summer road-trip throughout the so-called &lt;em&gt;Deep South&lt;/em&gt;, the most southern states of the USA. As we have a shared history of playing in bands and writing music together, my friends and I thought it would be cool to purchase some second-hand instruments and travel through some of the more musically well-known states. This short blog covers our three-week itinerary, with plenty of pictures to go along.&lt;/p&gt;

&lt;h1 id="brief-history"&gt;&lt;a class="toclink" href="#brief-history"&gt;Brief history &lt;i class="icon-history small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;The Deep South refers to the seven slave states that originally joined forces in what became known as the Confederate States of America. The historical dependence on slave labor (as well as the proximity to Cuba and Mexico) means that the region has both a large present-day ethnic minority of African-Americans and Hispanic Americans (and a more apparent cultural mix). Therefore, parts of this particular region are also informally called Black Belt (as well as Bible Belt). Simultaneously the region politically tends to be more conservative-leaning; with historic revisionism in regards to the region’s role in, and dependence on, trans-Atlantic slavery often neglected in favor of ‘State rights’ rhetoric.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/29660068685/in/album-72157672692229522/" title="Desert"&gt;&lt;img alt="Desert" src="https://c6.staticflickr.com/9/8131/29660068685_cc58b07e01.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h1 id="itinerary"&gt;&lt;a class="toclink" href="#itinerary"&gt;Itinerary &lt;i class="icon-plane small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;We rented a relatively cheap car that would still be large enough to handle all five of us and our gear. Size-wise The car looked like a limousine, yet  paled in comparison to the cars driving around us; among our first cultural shocks right there. As most of us are still students, we left straight after our finals end of June. The summertime in the South is described as being relentlessly tough, so we made sure to have proper air-conditioning and plenty of water available.&lt;/p&gt;
&lt;p&gt;&lt;img alt="car" class="fcenter" src="https://steviepoppe.net/images/car.jpg" title="car"/&gt;&lt;/p&gt;
&lt;h2 id="florida"&gt;&lt;a class="toclink" href="#florida"&gt;Florida&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="miami"&gt;&lt;a class="toclink" href="#miami"&gt;Miami&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;After a fairly pleasant eight-hour flight, we arrived at Miami International Airport in Florida. Despite arriving late in the evening, it still took us over a whopping three hours of queuing just to get through border control. It was a Kafkaesque experience for sure; having to queue to use check-in machines and manual check-ups serving the exact same task, yet those manual check-ups were so superficial that it felt entirely unnecessary and a waste of time. An antiqued relic of post-911 measures?&lt;/p&gt;
&lt;p&gt;On our way out we passed about five fast-food chains within a minute of driving, as well as several drive-through gun shops and pharmacies, and big billboards advertising triple-bypasses. What a country.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/29035300123/in/album-72157672692229522/" title="Miami"&gt;&lt;img alt="Miami" src="https://c4.staticflickr.com/9/8094/29035300123_8272e91fed.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Some other memorable locations to us as foreigners around here were a Waffle House and an enormous Walmart.&lt;/p&gt;
&lt;h3 id="everglades"&gt;&lt;a class="toclink" href="#everglades"&gt;Everglades&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;We spent some time exploring the everglades, a natural region of tropical wetlands with a large variety of flora and fauna. After passing an alligator crossing the road, we decided to stay in our car for most of the time here.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/29660058475/in/album-72157672692229522/" title="Desolate Road"&gt;&lt;img alt="Desolate Road" src="https://c4.staticflickr.com/9/8235/29660058475_c9f48d8955.jpg"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h3 id="key-west"&gt;&lt;a class="toclink" href="#key-west"&gt;Key West&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;The Key West is the most southern island of the Florida Keys as well as the most southern city in the USA. The area has strong Cuban influence and is generally known as a tropic nightlife paradise. We spent some time at one of the beaches but found the area too crowded to our liking. People were pleasant and talkative enough around here, although the constant witty banter and one-liners (what we had thus-far only experiences in US television shows) became tiring rather quickly.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/29035319323/in/album-72157672692229522/" title="Key West"&gt;&lt;img alt="Key West" src="https://c4.staticflickr.com/9/8184/29035319323_d2a5c1c4d6.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h3 id="panama-city-beach"&gt;&lt;a class="toclink" href="#panama-city-beach"&gt;Panama City Beach&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;After a long, intense drive, we halted in panama City Beach and spent the afternoon and evening in a natural park, playing a bit on our instruments and having some drinks. Only at this point did we fully realize cities in the USA often don’t have city centers similar to the German city-model popular in Europe. Thus we could never just park our car somewhere and spend the day just walking around or travel by public transport.&lt;/p&gt;
&lt;p&gt;With the upcoming presidential elections most people we met were incredibly keen on talking politics. In this natural park, we met an elderly man who (after inviting us for a pick-nick with his family) tried to convince us that President Obama was a actually a radical leftist Muslim destroying the United States with his socialist plans and support for Muslim terrorists. The kind of politics you might end up taking for granted when relying on private-owned, heavily sponsored news channels such as Fox News too much. It was for that exact reason, actually, that he would support Trump in the upcoming elections (notwithstanding that isn’t actually running).&lt;/p&gt;
&lt;p&gt;It was a mixed experience; while the family was open and kind (to all colors and races, as he was keen on highlighting by pointing out his daughter’s marriage to a Black man, both present at the pick-nick), it was clear that the lack of self-confidence in their Southern identity (these regions are often the butt of the joke) might have further marginalized and radicalized them politically.&lt;/p&gt;
&lt;h2 id="alabama"&gt;&lt;a class="toclink" href="#alabama"&gt;Alabama&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;After a long drive through the scenic beauty of Alabama, we spent a short night in major port city &lt;strong&gt;Mobile&lt;/strong&gt;. I particularly enjoyed the thick accents spoken here, reminding me heavily of the 1994 movie &lt;em&gt;Forrest Gump&lt;/em&gt;, which takes place around this area.&lt;/p&gt;
&lt;h2 id="louisiana"&gt;&lt;a class="toclink" href="#louisiana"&gt;Louisiana&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Louisiana was one of the more interesting states we visited, with a strong &lt;em&gt;Cajun&lt;/em&gt; and &lt;em&gt;Creole&lt;/em&gt; influence present in both cuisine and culture. It is unfortunate that after eleven years, the scars caused by the notorious Hurricane Katrina are very much visible and unresolved. A blight on a nation that takes pride in its wealth and strong economy.&lt;/p&gt;
&lt;h3 id="lafayette"&gt;&lt;a class="toclink" href="#lafayette"&gt;Lafayette&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Lafayette is a pretty small town with a lively outgoing scene. After some detours we ended up in a local bar filled with burly, tattooed bikers watching several Americana performers. This was a really cool, unplanned experience and the whole thing really felt like a scene straight out of popular Southern Vampire series True Blood.&lt;/p&gt;
&lt;p&gt;We befriended a young couple, both fresh college graduates and strong Bernie supports. It was a lovely and enriching experience, albeit that my worries on the marginalization of this region were further confirmed through the somewhat condescending tone used in regards to the US south as a whole.&lt;/p&gt;
&lt;h3 id="new-orleans"&gt;&lt;a class="toclink" href="#new-orleans"&gt;New Orleans&lt;/a&gt;&lt;/h3&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/29914947635/in/album-72157672692229522/" title="New Orleans"&gt;&lt;img alt="New Orleans" src="https://c4.staticflickr.com/6/5563/29914947635_2ec9c8dcaa.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;New Orleans is popularly referred to as the birthplace of jazz music in the USA and thus couldn’t possibly be left out of our itinerary. We checked-in close to the famous &lt;strong&gt;French Quarter&lt;/strong&gt; and spent our first night in bars around &lt;strong&gt;Bourbon Street&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;As first impressions go, that one was actually a bit of a downer. Bourbon Street reminded me of a sleazy red-light district overrun by affluent, middle-age tourists, and the smell was unbearably nauseating, reminding us of a mixture of sewer and cannabis. In hindsight this should have made sense; historically parts of the French Quarter did serve as a red-light district, after all, and was popular for drinking, gambling and brothels. The next evenings, however, were spent in nearby streets instead and surely ended up more memorable; having been treated to impromptu jazz concerts and street hip-hop free-styling.&lt;/p&gt;
&lt;p&gt;New Orleans, as most of Louisiana, is often depicted as having a strong Voodoo culture amongst its creole population (descendants of French or Spanish colonial settlers, often with African or Native American ancestry as well). One of the famous practitioners, Marie Laveau, is buried in New Orleans; her grave becoming a famous tourist attraction. Frankly, the idea of a voodoo culture felt extremely commodified and exploitative; and someone we met of Creole descent did in fact argue that due to gentrification, very little of actual Creole voodoo culture remains.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/29035311123/in/album-72157672692229522/" title="Swamps"&gt;&lt;img alt="Swamps" src="https://c4.staticflickr.com/9/8313/29035311123_5dd636dd0f.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;New Orleans has plenty of swamps and bayous and a boat-tour through them was quite lovely.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/29578562421/in/album-72157672692229522/" title="Swamps"&gt;&lt;img alt="Swamps" src="https://c6.staticflickr.com/9/8434/29578562421_1520b0d034.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;a class="center border" href="https://www.flickr.com/photos/147061735@N04/29624488136/in/album-72157672692229522/" title="Swamps"&gt;&lt;img alt="Swamps" src="https://c1.staticflickr.com/9/8115/29624488136_6bdb6a5dde.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h2 id="texas"&gt;&lt;a class="toclink" href="#texas"&gt;Texas&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Texas, the second largest state in the USA and bordered by Mexico, has a long and politically colorful history culminating in the narrative of being strong-willed and independent. After days spent driving on gray, asphalt roads, the rough, desert-like setting was quite a change. We thoroughly enjoyed our in this state and extended our stay by almost a week.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/29578566761/in/album-72157672692229522/" title="Texas"&gt;&lt;img alt="Texas" src="https://c2.staticflickr.com/9/8117/29578566761_ac3e724808.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h3 id="houston"&gt;&lt;a class="toclink" href="#houston"&gt;Houston&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;On our way to the state capital, we passed through Texas’ largest city and home of &lt;strong&gt;NASA’s Mission Control Center&lt;/strong&gt;. A visit was definitely compulsory.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/29831503681/in/album-72157672692229522/" title="Space Station"&gt;&lt;img alt="Space Station" src="https://c2.staticflickr.com/9/8379/29831503681_e7e7e634f3.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Around this exact time several violent protests broke out following the shooting of an unarmed black man by a police man in Houston, followed later by the shooting of several police officers. Even in our home country we often hear reports of police brutality and racial conflicts in the USA, but actually experiencing the tense atmosphere and intense sadness following these events is an entirely other thing.&lt;/p&gt;
&lt;h3 id="austin"&gt;&lt;a class="toclink" href="#austin"&gt;Austin&lt;/a&gt;&lt;/h3&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/29578569271/in/album-72157672692229522/" title="Austin Skyline"&gt;&lt;img alt="Austin Skyline" src="https://c8.staticflickr.com/9/8419/29578569271_d99c12b144.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Having heard that Austin is within Texas known for being a more liberal and alternative city with a large college student population, we decided on spending the fourth of July and following weekend there.&lt;/p&gt;
&lt;p&gt;Something bizarre: the majority of the bars around there had Jenga games on their terraces. On a particular night, me and two others were on a roll and built a rather large tower, to the point some bystanders started filming and taking pictures. Several time that evening we were approached as “Oh dude you’re the Jenga boys, right?” - Which was frankly not the reputation we were hoping for, if anything.&lt;/p&gt;
&lt;p&gt;We befriended a local guy of Mexican descent and had a few more drinks at our place afterwards. Again the topic shifted towards politics; with his strong libertarian mindset ultimately opting to vote for Trump in hopes that it would increase state independence. Wonder how that will play out.&lt;/p&gt;
&lt;p&gt;One of our best meals was spent at a family-style barbecue restaurant nearby Texas, The Salt Lick BBQ, which we had already heard about before our trip after it went viral on the internet for their specific style of cooking. Another good memory food-wise was a Korean BBQ in the center of Austin. Not exactly very American, but I finally understand the hype.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/29660066235/in/album-72157672692229522/" title="Korean BBQ"&gt;&lt;img alt="Korean BBQ" src="https://c4.staticflickr.com/9/8516/29660066235_a40f12faf4.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h3 id="big-bend-national-park"&gt;&lt;a class="toclink" href="#big-bend-national-park"&gt;Big Bend National Park&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Despite apparently being relatively unknown, Big Bend National Park turned out to be the most breathtaking place we’ve visited in the US. Lying directly on the border of Mexico, the area has a distinct desert-like environment with appropriate flora and fauna. We often passed snakes, lizards and scorpions, as well various spiders and insects I’d rather avoid altogether.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/29660041015/in/album-72157672692229522/" title="Big Bend National Park"&gt;&lt;img alt="Big Bend National Park" src="https://c8.staticflickr.com/9/8346/29660041015_6aa39b7e4a.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/29660072715/in/album-72157672692229522/" title="Mountain Sunset"&gt;&lt;img alt="Mountain Sunset" src="https://c4.staticflickr.com/9/8537/29660072715_a5c10b76b0.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;a class="center border" href="https://www.flickr.com/photos/147061735@N04/29660043925/in/album-72157672692229522/" title="Desert"&gt;&lt;img alt="Desert" src="https://c6.staticflickr.com/9/8516/29660043925_6bdb5488b9.jpg" style="width: 45%;"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h2 id="nashville-tennessee"&gt;&lt;a class="toclink" href="#nashville-tennessee"&gt;Nashville, Tennessee&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Nashville, the capital of Tennessee is well known as the center of the country music industry in the USA and saw the birth of famous musicians such as Johnny Cash, Willie Nelson and Roy Orbison (and in more recent memory Miley Cyrus).&lt;/p&gt;
&lt;p&gt;We spent some time on &lt;strong&gt;Broadway Street&lt;/strong&gt;, popular for bar hopping (or “honky-tonking”) along various country-music venues. It’s a pretty touristic place (and we actually passed the notorious far-right Dutch politician Geert Wilders).&lt;/p&gt;
&lt;p&gt;Some locals drove us to &lt;strong&gt;5-point&lt;/strong&gt;, the local outgoing district with a vibrant nightlife. Two guys we acquainted at one bar again ended up preaching the necessity of gun-rights and in particular the right to open or concealed carrying. For sure another heavy culture shock right there, given that we have very strict gun laws in Belgium, but they took us for a few rounds at a nearby shooting range the next day, which was an interesting, unplanned experience.&lt;/p&gt;
&lt;p class="center border"&gt;
&lt;a href="https://www.flickr.com/photos/147061735@N04/29578560801/in/album-72157672692229522/" title="Nashville"&gt;&lt;img alt="Nashville" src="https://c2.staticflickr.com/9/8074/29578560801_e6d307526a.jpg" style="width:500px;height:281px"/&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h1 id="music"&gt;&lt;a class="toclink" href="#music"&gt;Music &lt;i class="icon-music small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;When traveling, I make it a habit of finding new music by listening to local radio stations or asking recommendations to people I meet in hostels or bars - It’s my own personal souvenir and sticks better in my mind than regular touristic souvenirs.&lt;/p&gt;
&lt;p&gt;This trip’s pick is the Nashville-born &lt;strong&gt;Hank Williams III&lt;/strong&gt;, a multi-instrumentalist and grandson of famous honky-tonk / country musician Hank Williams. He successfully blends his country and honky-tonk roots with punk-rock and metal, and we’ve often played his albums on our trip.&lt;/p&gt;
&lt;p&gt;&lt;span class="videobox"&gt;
&lt;iframe allowfullscreen="" frameborder="0" height="390" mozallowfullscreen="" src="https://www.youtube.com/embed/GkzSyvCl9ic" webkitallowfullscreen="" width="640"&gt;
&lt;/iframe&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;h1 id="conclusion"&gt;&lt;a class="toclink" href="#conclusion"&gt;Conclusion &lt;i class="icon-smile small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;A first surprise was the enormous influence of American pop-culture and soft-power on our daily lives: upon arrival I felt this sense of nostalgia despite having never visited the place before. Yet even more surprising was the spatial planning in these states: we’ve had occasions of staying at a certain hotel with a particular lay-out and a range of fixed fast-food chains nearby; getting up at 7AM and driving over 14 hours across concrete roads, only to arrive at the exact same hotel with the exact same fast-food chains nearby again. Genuinely felt like parts were constructed through the usage of copy-paste in a large Sims game.&lt;/p&gt;
&lt;p&gt;Public transport, especially interstate-wise, is incredibly lacking. The young couple we talked to told us the car-industry successful lobbied against Obama’s plan to introduce a European-style train-network. Furthermore, the outrageous amount of advertisements and national flags as signifiers of national identity visible everywhere we went would have been outright bizarre if we were not yet aware of rather nationalistic tendencies in US history and education.&lt;/p&gt;
&lt;p&gt;Nevertheless it was an enjoyable trip, although not without a variety of culture shocks. We achieved our goals of playing music on the road, and most of our evenings were spent socializing with locals or listening to local bands perform. People were generally incredibly warm and interested and often invited us over for dinner or drinks.&lt;/p&gt;
&lt;p&gt;Speaking of which, I probably gained over ten pounds eating hamburgers, BBQ and various kinds of fried food. Wonder how I’d look if I had a longer stay.&lt;/p&gt;
&lt;h1 id="gallery"&gt;&lt;a class="toclink" href="#gallery"&gt;Gallery &lt;i class="icon-camera-retro small-font"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;style&gt;.embed-container { position: relative; padding-bottom: 56.25%; padding-top: 30px; height: 0; overflow: hidden; max-width: 100%; height: auto; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }&lt;/style&gt;
&lt;div class="embed-container"&gt;&lt;iframe allowfullscreen="" frameborder="0" mozallowfullscreen="" msallowfullscreen="" oallowfullscreen="" src="https://www.flickr.com/photos/147061735@N04/albums/72157672692229522/player" webkitallowfullscreen=""&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;div class="footnote"&gt;
&lt;hr/&gt;
&lt;ol&gt;
&lt;li id="fn-footnote"&gt;
&lt;p&gt;Desert by Stevie Poppe (&lt;a href="https://flic.kr/p/MbXtHF"&gt;https://flic.kr/p/MbXtHF&lt;/a&gt; - CC BY-SA 2.0) &lt;a class="footnote-backref" href="#fnref-footnote" title="Jump back to footnote 1 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="Personal"></category><category term="Travels"></category><category term="USA"></category><category term="Deep South"></category></entry><entry><title>Hello World - About This Blog</title><link href="https://steviepoppe.net/blog/2016/08/hello-world-about-this-blog/" rel="alternate"></link><published>2016-08-23T00:00:00+02:00</published><updated>2016-08-23T00:00:00+02:00</updated><author><name>Stevie Poppe</name></author><id>tag:steviepoppe.net,2016-08-23:/blog/2016/08/hello-world-about-this-blog/</id><summary type="html">
&lt;!-- PELICAN_START_SUMMARY --&gt;
&lt;p&gt;I had been thinking on starting a small, personal blog for a while now and was already in the progress of writing up a small stack of possible articles to post. A long summer-break permitted me to sit down and get started on the technicalities; a process a bit more complicated as initially expected but worth it in the long run. This blog serves not as a tutorial on making one with Pelican (I’ll get to that &lt;em&gt;eventually&lt;/em&gt;), but as a brief log on my reasoning and thought process during creation.&lt;/p&gt;
&lt;h1 id="blog-platform"&gt;&lt;a class="toclink" href="#blog-platform"&gt;Blog-platform&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="deciding"&gt;&lt;a class="toclink" href="#deciding"&gt;Deciding&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Conceptually I tried to steer away from heavy content management systems such as &lt;strong&gt;Drupal&lt;/strong&gt; and &lt;strong&gt;WordPress&lt;/strong&gt;. While easy to work with (and taking quite a bit of technical work of your hands), a server-side database means too heavy a load for what’s basically a small-scale personal blog, and several unnecessary security risks on top.&lt;sup&gt;&lt;/sup&gt; The tinkerer in me opted for a DIY approach with full control over both content and design. As far as Static blog frameworks go there were several popular options, but since I’m more accustomed to the &lt;em&gt;Python&lt;/em&gt; programming language I ended up choosing for &lt;strong&gt;&lt;a href="http://blog.getpelican.com/"&gt;Pelican&lt;/a&gt;&lt;/strong&gt; over more widespread options such as the &lt;em&gt;Ruby&lt;/em&gt;-based &lt;strong&gt;&lt;a href="http://jekyllrb.com/"&gt;Jekyll&lt;/a&gt;&lt;/strong&gt;. An added value of managing my blogs client-side and delivering small sized static pages is the ease of finding an appropriate host (I host my pages on &lt;strong&gt;&lt;a href="https://pages.github.com/"&gt;GitHub Pages&lt;/a&gt;&lt;/strong&gt; while serving larger files through DropBox) as well as seamless integration with my &lt;em&gt;Markdown&lt;/em&gt;-based writing work-flow.&lt;sup&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;h2 id="set-up"&gt;&lt;a class="toclink" href="#set-up"&gt;Set-up&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The initial set-up is relatively simple, as installation and basic generation are done through command line, and content written in &lt;em&gt;Markdown&lt;/em&gt;, &lt;em&gt;AsciiDoc&lt;/em&gt; or &lt;em&gt;reStructuredText&lt;/em&gt;&lt;sup&gt;&lt;/sup&gt; gets served as stand-alone pages or articles. There’s a wide choice of &lt;a href="http://www.pelicanthemes.com/"&gt;existing templates&lt;/a&gt;, but further customization requires some working knowledge on web-design as well as, preferably, on basic programming concepts (Pelican templates are created using the python-based &lt;strong&gt;&lt;a href="http://jinja.pocoo.org/"&gt;Jinja2&lt;/a&gt;&lt;/strong&gt;, allowing for template logic and inheritance). Needless to say, hosting on GitHub Pages requires rudementary knowledge of &lt;strong&gt;Git&lt;/strong&gt;, but that’s really not a skill learned in vain as the concept of version control applies well to writing papers and other documents too.&lt;/p&gt;
&lt;h2 id="development"&gt;&lt;a class="toclink" href="#development"&gt;Development&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Getting acquainted with these tools can be time consuming. Luckily Pelican’s &lt;a href="http://docs.getpelican.com/en/3.6.3/#"&gt;well documented&lt;/a&gt;, and there are plenty of tutorials out there, as well as hundreds of working examples hosted on GitHub available as reference (the backbone …&lt;/p&gt;</summary><content type="html">
&lt;!-- PELICAN_START_SUMMARY --&gt;
&lt;p&gt;I had been thinking on starting a small, personal blog for a while now and was already in the progress of writing up a small stack of possible articles to post. A long summer-break permitted me to sit down and get started on the technicalities; a process a bit more complicated as initially expected but worth it in the long run. This blog serves not as a tutorial on making one with Pelican (I’ll get to that &lt;em&gt;eventually&lt;/em&gt;), but as a brief log on my reasoning and thought process during creation.&lt;/p&gt;

&lt;h1 id="blog-platform"&gt;&lt;a class="toclink" href="#blog-platform"&gt;Blog-platform&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="deciding"&gt;&lt;a class="toclink" href="#deciding"&gt;Deciding&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Conceptually I tried to steer away from heavy content management systems such as &lt;strong&gt;Drupal&lt;/strong&gt; and &lt;strong&gt;WordPress&lt;/strong&gt;. While easy to work with (and taking quite a bit of technical work of your hands), a server-side database means too heavy a load for what’s basically a small-scale personal blog, and several unnecessary security risks on top.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-1" id="fnref-1" rel="footnote"&gt;2&lt;/a&gt;&lt;/sup&gt; The tinkerer in me opted for a DIY approach with full control over both content and design. As far as Static blog frameworks go there were several popular options, but since I’m more accustomed to the &lt;em&gt;Python&lt;/em&gt; programming language I ended up choosing for &lt;strong&gt;&lt;a href="http://blog.getpelican.com/"&gt;Pelican&lt;/a&gt;&lt;/strong&gt; over more widespread options such as the &lt;em&gt;Ruby&lt;/em&gt;-based &lt;strong&gt;&lt;a href="http://jekyllrb.com/"&gt;Jekyll&lt;/a&gt;&lt;/strong&gt;. An added value of managing my blogs client-side and delivering small sized static pages is the ease of finding an appropriate host (I host my pages on &lt;strong&gt;&lt;a href="https://pages.github.com/"&gt;GitHub Pages&lt;/a&gt;&lt;/strong&gt; while serving larger files through DropBox) as well as seamless integration with my &lt;em&gt;Markdown&lt;/em&gt;-based writing work-flow.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-2" id="fnref-2" rel="footnote"&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;h2 id="set-up"&gt;&lt;a class="toclink" href="#set-up"&gt;Set-up&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The initial set-up is relatively simple, as installation and basic generation are done through command line, and content written in &lt;em&gt;Markdown&lt;/em&gt;, &lt;em&gt;AsciiDoc&lt;/em&gt; or &lt;em&gt;reStructuredText&lt;/em&gt;&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-3" id="fnref-3" rel="footnote"&gt;4&lt;/a&gt;&lt;/sup&gt; gets served as stand-alone pages or articles. There’s a wide choice of &lt;a href="http://www.pelicanthemes.com/"&gt;existing templates&lt;/a&gt;, but further customization requires some working knowledge on web-design as well as, preferably, on basic programming concepts (Pelican templates are created using the python-based &lt;strong&gt;&lt;a href="http://jinja.pocoo.org/"&gt;Jinja2&lt;/a&gt;&lt;/strong&gt;, allowing for template logic and inheritance). Needless to say, hosting on GitHub Pages requires rudementary knowledge of &lt;strong&gt;Git&lt;/strong&gt;, but that’s really not a skill learned in vain as the concept of version control applies well to writing papers and other documents too.&lt;/p&gt;
&lt;h2 id="development"&gt;&lt;a class="toclink" href="#development"&gt;Development&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Getting acquainted with these tools can be time consuming. Luckily Pelican’s &lt;a href="http://docs.getpelican.com/en/3.6.3/#"&gt;well documented&lt;/a&gt;, and there are plenty of tutorials out there, as well as hundreds of working examples hosted on GitHub available as reference (the backbone of my template is a heavily modified &lt;em&gt;&lt;a href="https://github.com/kdeldycke/plumage"&gt;Plumage&lt;/a&gt;&lt;/em&gt; theme). I prefer a minimalistic layout easy on the eye, and steered clear of unnecessary clutter, but with the advent of visual blogging&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-4" id="fnref-4" rel="footnote"&gt;5&lt;/a&gt;&lt;/sup&gt; I figured I’d integrate &lt;em&gt;some&lt;/em&gt; graphical elements, such as article banners (that’s the extent of it really, I’m not much of an artist), as visual content engages the reader more easily. One easily overlooked design problem is ensuring responsive web-pages for the ever increasing mobile internet traffic&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-5" id="fnref-5" rel="footnote"&gt;6&lt;/a&gt;&lt;/sup&gt;, but with easy support for &lt;em&gt;&lt;a href="http://sass-lang.com/"&gt;Sass&lt;/a&gt;&lt;/em&gt;, or just using Twitter’s &lt;strong&gt;Bootstrap&lt;/strong&gt; framework, this comes pretty naturally. Finally, implementing additional features is pretty easy too. There’s a wide range of existing &lt;a href="https://github.com/getpelican/pelican-plugins"&gt;plugins&lt;/a&gt; for features like searching, minifying assets, table of contents and comments (using the third-party &lt;strong&gt;&lt;a href="https://disqus.com/"&gt;Disqus&lt;/a&gt;&lt;/strong&gt; blog hosting service).&lt;/p&gt;
&lt;h2 id="hosting"&gt;&lt;a class="toclink" href="#hosting"&gt;Hosting&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;GitHub has allowed free hosting for static personal or project-sites on GitHub Pages for a while now. This boils down to creating a new repository with your user-name and GitHub url (&lt;em&gt;steviepoppe.github.io&lt;/em&gt;) and hosting your pages there. I created an additional source branch to host all my source-files, use &lt;a href="https://github.com/davisp/ghp-import"&gt;ghp-import&lt;/a&gt; to place my output files in a separate branch, and force push that to the master branch on GH Pages.&lt;sup&gt;&lt;a class="footnote-ref" href="#fn-6" id="fnref-6" rel="footnote"&gt;7&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt;1&lt;/span&gt;
&lt;span class="normal"&gt;2&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;#!python
pelican content -o output -s publishconf.py &amp;amp;&amp;amp; ghp-import output &amp;amp;&amp;amp; git push -f origin gh-pages:master
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;As of writing, GitHub’s SSL certificate only covers *.github.io domains; there isn’t any support yet for custom domains. Thus as final step after having set up my custom domain, and as an additional security layer, I use &lt;a href="https://www.cloudflare.com/"&gt;CloudFare&lt;/a&gt; to secure part of the connection and enroll some further optimizations.&lt;/p&gt;
&lt;h1 id="conclusion"&gt;&lt;a class="toclink" href="#conclusion"&gt;Conclusion&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;While further customization requires &lt;em&gt;some&lt;/em&gt; technical experience (or at least the proper mindset), I believe the base set-up is easy enough for anyone to learn and allows for more control over your own content and a smoother work-flow as you would have relying on big CMS systems. Any extra skills learned will definitely come in use as digital publishing, web-design and working with Git or other forms of version control become more and more basic skills anyone should possess. In retrospect, Jekyll appears to be an easier option for beginners with it’s widespread usage, but both Jekyll and Pelican achieve the same thing, so this is personal choice really. I’ll end up writing a full step-by-step beginner’s guide on setting up Pelican and hosting on GitHub Pages eventually, but for now I’ll post several decent tutorials below.&lt;/p&gt;
&lt;h1 id="further-reading"&gt;&lt;a class="toclink" href="#further-reading"&gt;Further reading&lt;/a&gt;&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://arunrocks.com/moving-blogs-to-pelican/"&gt;http://arunrocks.com/moving-blogs-to-pelican/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://cyrille.rossant.net/pelican-github/"&gt;http://cyrille.rossant.net/pelican-github/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://duncanlock.net/blog/2013/05/17/how-i-built-this-website-using-pelican-part-1-setup/"&gt;http://duncanlock.net/blog/2013/05/17/how-i-built-this-website-using-pelican-part-1-setup/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://guizishanren.com/guide-to-set-up-github-page-and-pelican/"&gt;http://guizishanren.com/guide-to-set-up-github-page-and-pelican/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="footnote"&gt;
&lt;hr/&gt;
&lt;ol&gt;
&lt;li id="fn-footnote"&gt;
&lt;p&gt;Icelandic Sunset by Stevie Poppe (&lt;a href="https://flic.kr/p/M83mKT"&gt;https://flic.kr/p/M83mKT&lt;/a&gt; - CC BY-SA 2.0) &lt;a class="footnote-backref" href="#fnref-footnote" title="Jump back to footnote 1 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-1"&gt;
&lt;p&gt;Burnett, Brett. 2015. “Why Did We Migrate from Drupal to Jekyll?” Text. The BHW Group. &lt;a href="https://thebhwgroup.com/blog/jekyll-drupal-wordpress"&gt;https://thebhwgroup.com/blog/jekyll-drupal-wordpress&lt;/a&gt; &lt;a class="footnote-backref" href="#fnref-1" title="Jump back to footnote 2 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-2"&gt;
&lt;p&gt;O’Nolan, John. 2015. “The Ultimate Guide to Writing &amp;amp; Publishing with Markdown”. Ghost. &lt;a href="https://blog.ghost.org/markdown/"&gt;https://blog.ghost.org/markdown/&lt;/a&gt; &lt;a class="footnote-backref" href="#fnref-2" title="Jump back to footnote 3 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-3"&gt;
&lt;p&gt;All three are open, lightweight markup languages with a heavy focus on readability through separation of content and layout layers. &lt;a class="footnote-backref" href="#fnref-3" title="Jump back to footnote 4 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-4"&gt;
&lt;p&gt;Fanguy, Will. 2016. “The Amazing Evolution of Visual Storytelling: Blogging, Instagram, Snapchat, and the Future”. Business 2 Community. &lt;a href="http://www.business2community.com/trends-news/amazing-evolution-visual-storytelling-blogging-instagram-snapchat-future-01557833"&gt;http://www.business2community.com/trends-news/amazing-evolution-visual-storytelling-blogging-instagram-snapchat-future-01557833&lt;/a&gt; &lt;a class="footnote-backref" href="#fnref-4" title="Jump back to footnote 5 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-5"&gt;
&lt;p&gt;‘&lt;em&gt;the amount of mobile traffic now accounts for more than half of total internet traffic&lt;/em&gt;‘ “Cisco Visual Networking Index: Global Mobile Data Traffic Forecast Update, 2015–2020 White Paper”. 2016. Cisco. &lt;a href="http://www.cisco.com/c/en/us/solutions/collateral/service-provider/visual-networking-index-vni/mobile-white-paper-c11-520862.html"&gt;http://www.cisco.com/c/en/us/solutions/collateral/service-provider/visual-networking-index-vni/mobile-white-paper-c11-520862.html&lt;/a&gt; &lt;a class="footnote-backref" href="#fnref-5" title="Jump back to footnote 6 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn-6"&gt;
&lt;p&gt;I’m doing this manually through command line for now, but there’s several automation options including using &lt;a href="https://travis-ci.org/"&gt;Travis-CI&lt;/a&gt; for the more hardcore blogger. &lt;a class="footnote-backref" href="#fnref-6" title="Jump back to footnote 7 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="technical"></category><category term="pelican"></category><category term="blog"></category><category term="github"></category></entry></feed>