|
Tag: Redirect target changed |
| (21 intermediate revisions by 2 users not shown) |
| Line 1: |
Line 1: |
| <div style="font-family: arial; font-size: 13px; color: #212121">
| | #REDIRECT [[Category: Writing Machines]] |
| | |
| This is an archival page for the Special Issue #28. Writing Machines–Protocols–Feedback.
| |
| == First Broadcast: Radio Ghost ==
| |
| Radio Ghost is the third radio show of 2025 for Special Issue #28. It was held on 6th of October 2025 at Radio WORM. Each of the hosts brought their own writing machine and presented it during the 1 hour radio show.
| |
| | |
| Moderator: Youjung | Producer: Ema | Secretary: Bart
| |
| | |
| * [[SI28-Radio-Worm#Week 3|Link to radio show documentation]]
| |
| | |
| * [https://pad.xpub.nl/p/radio_week_3 Link to Group Etherpad]
| |
| '''Spam e-mail recipes'''
| |
| | |
| For the first radio show, I made a spam e-mail recipe using [https://nickm.com/ Nick Montfort]'s Python code for [https://nickm.com/memslam/the_house_of_dust.html The House of Dust] and [https://nickm.com/poems/through_the_park.html Through the Park]. I have been developing poem generators since the workshop in Brussels. With the draft that I had, I borrowed ideas from Nick Montfort and [https://www.lillianyvonnebertram.com/ Lillian-yvonne Bertram]. Their work uses randomness but also has context and meaning in the output. I read Output and Travesty Generator to get some ideas for the Python code.
| |
| | |
| The input text is as important as the code itself. I thought using spam e-mails would be fun. Spam e-mails are usually not interesting; they are filled with flashy words to seduce readers to open the mail. But ironically, these phrases echo meaninglessly in our inboxes. The majority of them are directly moved to the trash. It would be fun to break these e-mails down into phrases and words and cook them like fried rice.
| |
| | |
| I enjoyed working with the text "Tips from ABN AMRO". They really did a great job on the opening statement, trying to lure expats/students into insurance, talking about the Dutch customs. Reordering them made it nonsensical, but at the same time, it made sense. I found myself trying to add humor to it. I hope it was humorous for the audience...
| |
| <div style="display: flex; gap: 10px;">
| |
| <div style="width: 50%;">
| |
| [Original Text]
| |
| Are you getting used to the Dutch and their ways?
| |
| Like cycling against the traffic, celebrating St Nicholas,
| |
| and eating a buttered slice of bread with chocolate sprinkles?
| |
| Still, some Dutch customs can be very useful,
| |
| and one of these is being insured against all manner of risks.
| |
| | |
|
| |
| </div>
| |
| <div style="width: 50%;">
| |
| [Cooked Text]
| |
| Dear Client,
| |
| Are you getting used to cross the road without looking?
| |
| Still, Dutch customs can be useful, faced by a hefty bill.
| |
| It's normal to eating a buttered slice of bread with chocolate sprinkles for your home.
| |
| You can insure yourself for causing a cyclist to have a nasty fall under one roof Get properly damage something
| |
| Kind regards,
| |
| Tanja Bom Head of Customer Communications ABN AMRO
| |
| </div>
| |
| </div>
| |
| '''Message from the Radio Ghost'''
| |
|
| |
| For the final writing machine, we wanted the inputs from our audiences. We aimed to actively engage with them. In order to lower the barrier of participation we asked questions that are simple to answer. These inputs were then put into our final writing machine. For this machine, I brought elements and keywords from each other's machines. Name that starts with an "A", spam e-mail titles, lyrics from a happy song etc. Then put them into a loose structure, then we read the result of the writing machine. Each person will read one word and phrase.
| |
| <div style="display:flex; gap: 10px;">
| |
| <div style="width: 50%;">
| |
| from random import choice, sample
| |
| title = [
| |
| "I’d like to inspire potential entrepreneurs",
| |
| "who lack the funds but are willing to put in the time, effort and creativity",
| |
| "to build a successful business.",
| |
| "The same internet for less money",
| |
| ]
| |
| name = [
| |
| "April",
| |
| "Arend",
| |
| "Anna",
| |
| "Amanda",
| |
| ]
| |
| place = [
| |
| "in my room, in bed",
| |
| "in the train",
| |
| "in my room on the couch",
| |
| ]
| |
| sadSong = [
| |
| "A handshake of carbon monoxide ",
| |
| "It's just another day, and it's not over till it's over. ",
| |
| "I fall into a black hole in my head ",
| |
| "Reach into the darkness for what's left ",
| |
| "I'm fighting the gravity ",
| |
| ]
| |
| happySong = [
| |
| "Nal Miwo hajima ",
| |
| "In der niederlande sagt man: 'Ik maak korte metten'",
| |
| "Sai la scritta che hai scritto, sai, mi piace assai",
| |
| "Sai, quel tuo corpicino che guardava me"
| |
| ]
| |
| </div>
| |
| <div style="width: 50%;">
| |
| name1, name2, name3, name4, name5 = sample(name, 5)
| |
| place1, place2, place3, place4, place5 = sample(place, 5)
| |
| title1, title2, title3 = sample(title, 3)
| |
| happySong1, happySong2, happySong3 = sample(happySong, 3)
| |
| sadSong1, sadSong2, sadSong3 = sample(sadSong, 3)
| |
|
| |
| title1_words = title1.split()
| |
| title1_short = " ".join(title1_words[:5])
| |
|
| |
| title2_words = title2.split()
| |
| title2_short = " ".join(title2_words[-5:])
| |
|
| |
| message = f"""
| |
| {name1} ★ {place1} ★
| |
| Happily sings ★ ♫ {sadSong1} ♫
| |
|
| |
| Sobbing ★ {name2} ★ {place2} ★
| |
| cries ★ ♫ {happySong1}♫
| |
|
| |
| {name3} ★ writes ★ "{title1_short}"
| |
| {name1} ★ replies ★ "{title2_short}"
| |
|
| |
| {name4} ★ and ★ {name5} ★ {place4} ★
| |
| ♫ {happySong3} ♫ ★
| |
| ♫ {sadSong3} ♫ ★
| |
|
| |
| See you ★ {place5} ★
| |
| yours sincerely...
| |
| """
| |
|
| |
| print(message)
| |
| | |
| | |
| | |
|
| |
| </div>
| |
| </div>
| |
| [[File:CB0106B3-03EE-431D-90B3-26153BAA2E01 1 105 c.jpg|thumb]]'''Looking back...'''
| |
| | |
| Preparing for the show, we had 3 meetings, one after class and two online. We thought of doing a collective writing machine, but in the end, we did our own separate machines. Everyone had different interests, and we didn't have enough time to fuse our machines together. But a lot of ideas emerged during the rehearsal, an online meeting the night before the broadcast, like the tone of the show and ghost interrupting us. We measured the time for the introduction to see if we can make it on time. I wrote my script for my session and prepared things to discuss during Bart and Ema's session.
| |
| | |
| On the day of the show, time passed extremely quickly. When I was talking about my writing machine, my face was burning. And during discussion my brain went blank. Furthermore, I was the moderator who was responsible for tracking time but I miscalculated and cut my session too soon. But maybe thanks to that, everything was on time. I gave signals to others when they had 5, 3, and 1 minutes left. In the end we had some time left, where we had to fill with awkward moments of silence.
| |
| | |
| When preparing for the show, I felt guilty of presenting something that is not refined to a broad audience. It was my big moment of "making things public". It's a nerve wracking experience but in the end I found myself enjoying being on live and speaking on the microphone.
| |
| | |
| | |
| | |
| | |
| == Python to Javascript ==
| |
| On Monday 13th of October, I worked on putting my python code I've developed on a web page format. Maybe I'm copying Nick Montfort too much... but Steve said it is ok to do so. I struggled to find ways to display python on a chrome browser. I found pyscript, but it didn't work... Later I found out that it wasn't that simple as I thought. Javascript and Python are two very different language. Michael advised that if I wanted to focus on a more visual side, I can focus on Javascript. Looking for ways... I just used a Python to Javascript converter. It is not the most elegant way but it works!
| |
| I used the recipe for cooking the e-mail from ABN AMRO and made a small website! You can check it here. It was fun to get my hands dirty with coding and visuals after all those readings and discussion.
| |
| </div>
| |