Reflexions of a wannabe software developer

Many seasoned programmers, especially those that work in a professional setting, tend to heavily criticize aspiring or hobby developers, such as myself, about their code. “How dare you use the global namespace?”, they may scream at you. “How could you possibly assume this variable will not be taken by something else? How dare you camelcase a class name?”

A lot of hobby programmers tend to teach themselves the technologies they use. They read example code, they figure out the concepts from several different manuals and tutorials, and put their knowledge to use by building apps they can be somewhat proud of. Yes, a beginner hobbyist developer may feel pride towards a 40-line slot machine they have written. And, as it turns out, a lot of online tutorials don’t even share opinions or conventions. Is a slot machine less of a slot machine because it’s a slot_machine and not a SlotMachine? *watches screenreader users instantly switch to character review*

Code conventions are there to be respected, of course, by open-source projects that have the chance of being used and edited by a substantial group of people. Open-source projects should definitely try to follow code conventions, just to make it easier for people who want to help with development. This has become even simpler lately with the use of linter software. But should we really cram loads of directive, shoulds and shoudln’ts into the mind of any poor average Joe who just wants to make a game and have fun?

I have been programming for about six years now. This is not a long time at all. I have taken multiple long breaks from it. But I would like to think I’ve grown up. And because of this, I sometimes think about what I would have done different and what I hope wouldn’t have happened to me. Sometimes I even think back on my own behavior and wish I would have done things differently. This is one of those moments, and for those aspiring developers such as myself, I have decided to write this post, in hopes that one sentence or two will stand out to someone and help them in their hobbyist developer career.

Humans are adaptable

The truth is, every half-seasoned programmer hates dirty code. Nobody likes confusing variable names or unreadable one-liners. And the beginning of that last sentence sets up the main point of my argument: a beginner programmer will eventually become a seasoned programmer.

I myself have gone through, and am currently going through, a huge adaptation process. My first game had lines such as this one:

bool lpuse,guse,fbuse,fbactive;

While I was actively developing the game, I of course knew what those variables meant. I disregarded people’s suggestions about making my variable names self-explanatory, because those names worked just fine. Then I took a break from it for a couple weeks. When I came back to it, I saw this line and lost all the motivation I had saved up. While this did signify the end of that first game, it also taught me why I should, in fact, name my variables properly. I did not learn this from the people who shouted at me about it. I learned it because it was necessary for my own sanity.

The same happens with more seemingly unnecessary conventions. Eventually, a developer will need the help of external dependencies to extend their software. When your coding style matches (or is at least similar to) the supporting packages, things just fit together. And most of the time, being yelled at is, yet again, unnecessary.

We adapt to the situations we find ourselves in. We try to make them more comfortable by changing ourselves. This, to a greater extent than people think, applies to programmers too. When we find out that our practices confuse others and even ourselves, we try to change them to match.

With this, I am not saying conventions should be ignored and we shouldn’t let beginner programmers know about them. But there is a huge difference between showing someone why a convention should be followed or suggesting it should be, and causing discouragement by openly and non-constructively criticizing other people’s code.

Everyone starts with “Hello World”

Many times I have seen beginner programmers being laughed at for posting the simplest of games to forums with some degree of pride. Less often, but still occasionally, I have witnessed this behavior in fellow developers. But what makes this acceptable?

I still remember my first days of coding. I got frustrated at BGT because I simply could not get a four-line script to work. A four-line script that initialized a string variable and displayed an alert with the variable concatenated to a string literal. I remember thinking programming was just not for me.

And a few years later, I released my first few games. I thought I would not get past string concatenation, and every aspiring developer does at first. But eventually we do. And the first guess the number game we make is a huge confidence boost. And so is the moment when we add sounds to that guess the number game and it works.

Developers, more than anyone, should know that every step is a big one for a newbie programmer. We shouldn’t blame them for wanting to share their accomplishments, and should instead encourage them to go on and try something more challenging next time.

In most cases, learning to code takes forever

Some beginner developers start off with a clear idea. Some want to create the next big social network. Some have written a story for an RPG and want to bring it to life. But it is important for beginner developers to know that their goal should not be their first project.

One of two things usually happens if a beginner pursues their end goal as their first project:

  1. They look at the technologies they will most likely need. One thing leads to the next, the list grows, and the beginner developer begins to have no idea where to start, how to start, or what to use. This is really discouraging and it makes newbie developers fear code.
  2. The developer doesn’t think to look at external tools. They will take whatever they have easy access to and work with it. As a first project, this eventually causes the idea to be whittled down to a level where said tools can handle it, which causes an incredibly underwhelming result.

As much as beginner developers should have ambitions, they should also know their limits. You can’t start building a house from the roof down. As much as it seems stupid to newbie programmers to work on smaller projects before embarking on a larger one, I think it is very important to do so, just for the sake of practice and developing a code style. Practice makes perfect, as they say, and this also applies to programming.

To the aspiring developer

Don’t be scared of code. Have respect towards it. Tame it slowly. Don’t let it limit you. Listen to those with more experience, but don’t let them control how you write.

And always remember: “If it ain’t broke, don’t fix it!”

Advertisements

Of the joys of taking American exams as a blind international student: an ongoing story of corporate ineptitude

Everyone has dreams. We all have goals, some more realistic than others. We all wish for a better future for ourselves. And some of us work to achieve at least some of those dreams, no matter how unrealistic they may look.

Most of these dreams consist of smaller pieces. By adding up these pieces, one can build the complete picture they wish to see.

Some pieces add beauty to the final image. They aren’t necessary, but they are nice to have. Other pieces form the base picture and are required for any others to fit. But collecting these pieces is never easy. And it is so, so much harder when one knows they are doing the right thing to get them, and the problems come from the outside. They keep coming, and time keeps moving forward.

Introduction

In the summer of 2017, I had the pleasure to attend the Indiana University Piano Academy. It was an absolutely unforgettable experience in so many aspects. I had slowly been losing motivation for my piano studies and my interest was draining away. Spending three weeks living with fellow aspiring pianists of my age range was an immeasurable motivation boost for me. I learned a huge amount from the teachers and made some amazing friends whom I still maintain contact with. Piano Academy, in fact, was what spawned the dream that started all of this: I decided I wanted to study piano performance at the Indiana University.

The application process wasn’t bad at all. After figuring out everything I needed, I completed my application through the Apply IU system, which, I must say, is very nicely marked up and works beautifully with screenreaders. This is something I sadly cannot say about The Common Application, which I used to also apply to University of Michigan.

The famous exam duo

I submitted my application before the deadline and uploaded my pre-screening recordings through Acceptd (also quite accessible), and received the list of required materials. Two of these were the TOEFL and SAT exams. The TOEFL, administered by Educational Testing Service (ETS), is the Test of English as a Foreign Language, a standard English test required for international students by American universities; and the SAT, administered by the College Board, is a test required for everyone in most colleges, similar to the more well-known ACT. As a completely blind student, I obviously could not read or write the regular test materials, so I needed accommodations for both tests. Both ETS and the College Board offered such accommodations through their Services for Students with Disabilities (SSD) departments, so I contacted them to obtain my registration materials.

Here is where I saw the first signs of anachronistic behavior:

  • ETS: I was given links to a registration form and a bulletin supplement in PDF format. I was told to print them, complete them and fax or E-Mail the scanned images back to ETS. This, of course, meant I would ned help to fill in the forms. I am the only member of my family who speaks English, so this was not an easy process. Meanwhile, students without disabilities could register through a (presumably beautiful) online form, which would most likely have been more than usable by any blind computer user.
  • College Board: Similar process, except worse. They could not offer me digital files of the forms, so they actually had to mail the papers to my house and had me mail them back.

Both institutions required me to send proof of disability. ETS allowed me to send in a “Certification of Eligibility: Accommodations History”, which was supposed to be filled in by the SSD coordinator, a figure apparently present in all US high schools but not outside of America. I assumed this would be equivalent to a Teacher for the Visually Impaired (TVI) so I asked mine to complete the form and sent it to ETS, specifying this fact in my E-Mail.

While I waited to get confirmation from ETS, I completed the registration form for the SAT. Since the CoE wasn’t available in this case, I asked my school to print out an official document equivalent to an IEP. This was done within a day, and the papers were sent shortly after.

A few weeks later, around the end of November, I received a turnaround letter from ETS. For no apparent reason, my CoE was not accepted. I was told to submit proper proof of disability, so I tried with the pseudo-IEP my school had given me.

Approved. Whatever that actually means

Within the first week of January, I received confirmation from both ETS and the College Board that my accommodations requests had been approved. At this point, the problems should have been nearly nonexistent. Or so I thought. In fact, the fun was just about to begin.

To make this easier, or maybe because I am lazy, instead of writing down everything that happened in the next two months, I will paste the complaint letters I wrote to ETS and the College Board on 03/07/2018 and 03/09/2018 respectively (names removed).

Complaint to ETS SSD

I WOULD LIKE THIS E-MAIL TO BE FORWARDED TO A MANAGER.

Hello,

My name is Guillem Leon Vivas, and I am a 17 year old student from Spain. I am also completely blind, and as such, I am in need of accommodations for the TOEFL. This is why I had to work with the Services for Students with Disabilities department of ETS.
I initially applied for accommodations with a “CoE: accommodations history” on 11/20/2017. On 11/28/2017, I received my initial turnaround letter. It seemed as if the CoE was not enough documentation, so I resubmitted my registration forms on 12/06/2017 with more documentation.
Almost a full month later, on 01/05/2018, I received a reply from Ms. N*** H*********, indicating that my accommodations request had been approved, and asking me for more clarification as to which ones I needed and how they could be delivered. I replied to that E-Mail on that same day providing the information you requested.
I waited for eleven days, which is way past the 3-5 business days estimate your system gives any customer. After those eleven days, on 01/16/2018, I wrote to ETS again asking for confirmation that my E-Mail had been received. Once again, I received no reply.
On 01/23/2018 I wrote to ETS again with a similar message. No longer having faith in getting a reply, I figured out a way to call ETS directly from Spain and spoke with your representatives. There was seemingly no valid reason for my E-mails not being answered other than “lots of work”. I can understand that the SSD may have to deal with many cases, but I was not only asked on EVERY E-Mail to reply as soon as possible, I was also given an estimate for replies which you did not come even close to respecting.
I received an E-Mail not even 24 hours later offering me the test formats I could take. My choice had already been expressed in a previous E-Mail, but on that same day, I replied to the message and chose a full computer-based test. For the rest of the day, communication went smoothly and the test center was supposedly contacted. As soon as I indicated that I was fine with testing on a weekend, Ms. H********* stopped responding for another few days. On 01/29/2018, I was told that the test center only had Mac computers and I would have to use VoiceOver. I indicated, on that same day, that this was perfectly fine for me, as my main system is Mac OS.
I received absolutely nothing for two weeks after that. On 02/14/2018, I E-Mailed ETS again asking for an update. This E-Mail was never replied to. I called in the next day and spoke to Ms. H*********, who claimed she had not received my E-mail. She said there were some issues contacting the test center. I was quite skeptical about this, as it had already been two weeks and I found it slightly strange that you couldn’t have simply called them. I was not told which test center was being contacted, and I was also told there was nothing I could do on my side. At this point I was getting seriously worried. The university which I applied to has their TOEFL and SAT deadline on February 1st, which I had not been able to comply with because of these huge delays in communication. I was already on an extended period until April 1st.
on 02/19/2018, i called again asking for an explanation. This was the first call in a series of four in the space of three days. On all instances I was told that Ms. H********* was not at her desk and nobody else seemed to have a clue about my situation. At that point I was getting ready to leave for a few days to do my piano auditions at Indiana University Bloomington.
At the same time as I was trying to fix my issues with the TOEFL, I was also having similar (if not worse) problems with the SAT. For that reason I had to contact the ES International School in Barcelona. This school, as far as I now understand, is also an ETS-approved testing center, which I did not know before. The school seemed to have no problem agreeing to test me, and my calls to them were answered promptly and were given relevant responses. I am unable to understand how it is possible that I, as a student, was able to contact the testing center about a similar issue and get it sorted out in mere days, while the ETS SSD department was unable to do it in MORE THAN THREE WEEKS.
I have made 3 calls to ETS in the last two days. Almost predictably, Ms. H********* was not at her desk for the first two. I spoke to agent #61547, who tried to handle my case and forward me to Ms. H*********. When I finally managed to contact her yesterday, there was no reason given for the delay. I was told there had been issues contacting the test center yet again, that ETS would be closed today because of a snowstorm, and that she would try to contact the test center on Thursday. My offer to contact them myself had no effect and she said that would not help.
This, in my view, is not acceptable. I have been following all of ETS’s supposed deadlines and even waiting extra for all the problems I was told we were having. I am now being told that it has been impossible to contact test centers in my city for over three weeks, when I was able to get a hold of them by dialing a phone number. I am being given no explanation as to the unavailability of my processor and I am at the risk of having wasted countless hours and a huge sum of money for application and travel to the university because of problems not only beyond my control, but also beyond my ability to understand. The score review process takes three to six weeks. Having had to deal with your response times, I assume this means at least six weeks. Even if my test could be graded in exactly three weeks, and even if somehow the test was shipped and taken this weekend on 3/10 and 3/11, my scores would still not be in by the university deadline. I cannot believe it is so hard for an international and disabled student to apply for such a standardized test as the TOEFL.

Indiana University has E-Mailed me very recently informing me of my April 1st deadline. I have paid for my application, my audition fees, and have spent months preparing and practicing for my audition. I have spent a large sum on travel expenses for audition weekend and my contacts within the School of Music had no trouble finding ways for me to get around the campus in those two days, even though it was not their obligation in any way. I have followed all of ETS’s instructions, and even though, as far as I understand, it is ETS’s job to provide the test and maintain contact with the student, it is March 7th and I have yet to have my test scheduled, let alone scored. The loss of my application means the waste of a huge amount of time and money. If I do, it will be because of circumstances beyond my control and due to the SSD’s response time and organization. If I lose my application to the Indiana University, I will be forced to take stronger legal measures.

I expect there to be some way to sort out this problem and to have my scores by the April 1st deadline. I will be sending a similar complaint letter to the College Board, as their process has been equally problematic and their SSD department is giving me contradictory information. I do hope this issue will be fixed soon.

Thank you.

Sincerely,

Guillem león Vivas
ETS ID: xxxxxxxxxx

Complaint to College Board SSD

I WOULD LIKE THIS E-MAIL TO BE FORWARDED TO A MANAGER/SUPERVISOR.

Hello,
My name is Guillem león Vivas. I am a blind 17 year old student from Spain. I am applying to an American University for the fall term, and thus, I am required to take the March SAT. Unfortunately, so far, it looks like this will be not be possible, for some unacceptable reasons. Not only were there huge delays in processing (which were past your official estimations) and ignorance on the College Board side which caused issues in my SSD accommodations request, but I am now getting completely contradictory information from within the SSD department.

My accommodations request was approved on January 4, 2018, about a month after my forms were sent. Three days after I received confirmation of this fact, on 1/11/2018, I attempted to start the registration process and found my first problem: The system did not accept my SSD number for seemingly no reason. I immediately E-Mailed the SSD department about this fact and received a reply soon after, instructing me to sign up with a random test center and no accommodations so that my SSD number could be put in later (Ref: 180108-000210). I did this and E-Mailed the SSD department again. For some unknown reason, my case was handled by another representative, and I was told to contact the standard SAT department, even though the issue was clearly with the SSD numbers.
I contacted the standard SAT department through E-Mail. The exchange did not make any sense. At first, I told them about a problem regarding the accent on the O in my last name, just to make sure I did not need it as long as it matched my college application. They responded accordingly and asked for some information regarding my SAT application. In my next E-Mail, I provided this information, and explained the main issue with the SSD, as I had been instructed to by them in the “original inquiry” part of the form, which I assumed was the most important. Their next E-Mail completely ignored that original inquiry and kept insisting on the name problem, which I had specified had been fixed. There was no mention to my original inquiry. i responded to the E-Mail and explained the issue all over again. This E-Mail received no response.
At this point I switched to phone calls, as I thought this would make things easier. I called the Standard SAT department on 01/23/2018 and, of course, was transferred straight back to SSD. After explaining the problem again, they found the cause of my issue: the person tasked with entering the information I had provided in the paper-based form I was sent had somehow decided to ignore my second last name, and my name on file with SSD and the one I had typed into the registration form did not match. This issue, even though clearly a problem on the College Board side, had to be taken care of by sending in a name change request form. We did not have an easy way to send a Fax, so it took a bit less than a week to send the request form. This was within the deadline the representative had specified, which was actually march 8th.
I received no confirmation of the fact that the form had been received for almost two weeks, so I called in again. As it turned out, my form had been received, but had not been acted to, again for some unknown reason. A few days later my accommodations were added to my registration and that seemed to be the end of my problems, until I called in to confirm my test center.

The College Board SSD department seems to have very little information on how to react to an international blind applicant. Since the College Board tests are not standardizd here, most of our schools are not affiliated with you and do not have an SSD coordinator. This is something your representatives did not seem to understand. I was being told by different people to find a different test center in my area, and to tell the College Board about my school because taht was the only place where I could actually take the test. I asked a representative to give me more direct information in writing and I was told I would receive an E-Mail. This E-mail never arrived.
A week later, on 01/27/2018, I got my school involved with the process. They called in and asked about testing me, and were told to send a fax saying they were willing to test me to +1 606 336 1489. This number did not work.
The next day they called again and asked for an explanation. They were given a second number, (+1) 609 771 7944, to which they sent the fax. After that, they called back and asked for confirmation that everything was correct. The person they spoke to, however, said that they could not administer my test because they weren’t registered. According to Code Control, the school registration process would take about two to three weeks, which was too long for the required dates, so they asked for an alternative location. We were given the information for the ES International School (ESIS), and we have been in contact with them ever since.
After explaining my situation and accommodation requirements, A**** G******* of ESIS instantly gave us confirmation that they would be willing to administer my test. I called the College Board and informed them of this fact, and they told me that ESIS would have to send a “willingness to test letter” by fax, which they did that same day.
The next day, on 03/01/2018, I had to leave for the United States to perform the auditions at the University I applied to. When I got there, I was told by my school that ESIS had told them that the College Board had said that it was OK for my school to test me. They called the College Board to confirm this, and were told by an agent (quite rudely according to them) that everything was correct and there was nothing else to be checked, and that the materials were to arrive on Wednesday. At this point, everything seemed OK, so we relaxed and waited.

This did not last long. On Tuesday, March 6th, I received an E-Mail from N***** S****, informing me that there was no test center assigned to me. I replied, explaining the situation and telling her that there had been negotiations with both ESIS and my school, and that they could test me. To my surprise and absolute disbelief, her next reply informed me that not only it was impossible for my school to test me, but that no materials had been shipped at all. I immediately called ESIS and the College Board to verify this. The former told me what I already knew: THEY were told that my school could test me and had no idea where this new information came from. The latter, after a 28 minute call, told me they literally did not know anything about this case, and that as Ms. S**** said, it was not possible for my school to administer the test. At this point I could do nothing but wait until the next day to see if the materials arrived. They did not.
As the person who talked to my school earlier had insisted hat everything was correct and did not say where the materials had been sent, we were worried they may have been submitted to ESIS. We called them, but they could not verify this, since they cannot open up the test materials until test day. To this day we have no idea where the materials were sent, if they were sent at all.
I called the College Board again and, predictably, received the same response. I managed to obtain the reference number for the case from my school (Ref: 180228-003279), but by the time I called again, I did not manage to speak to anybody. At this point, fearing I would never get my SAT on time, I E-Mailed the university’s Office of International Services asking for a waiver. I have yet to receive a response from them.
Yesterday, I called again, but only one person was there because of the snowstorm. This happened to be a supervisor, A****, so I thought this would finally get cleared up. I gave him the reference number which supposedly contained the information about the shipping of the test materials (Ref: 180228003279), and he found nothing. He indicated I should call again the next day so that he could talk to the shipping department. I will be doing that later today.

As it stands, it looks as if I will not get my SAT on time. I have no idea how it is even possible for one department to have so much disorganization regarding one case, and how it is possible that nobody seems to be able to handle the case the same way, even though I have been providing my reference number in every call. I have practiced for months for my auditions, gone through the application process and paid application and audition fees, and even traveled to America to perform, with all the associated huge costs, after the College Board told me that everything was settled, which turned out to be untrue. I am having similar issues with ETS with the TOEFL test. These are all problems outside of my control and understanding, and if I do not manage to take my test before April 1st, which is the deadline that the university has given me, I will lose my application and will have wasted a huge amount of time and money, simply because of a lack of organization on your part.
If I lose my application, I will do what I can to take stronger legal measures.

I hope this issue can be sorted out soon. The university’s disability services will also be contacting the College Board today. I am hoping you will at least be able to give them some actual information.

Thank you.

Sincerely,

Guillem León Vivas
SSD number: xxxxxxxxxx
SAT registration number: xxxxxxxxxx

After the complaints

The College Board

The IU disability services department did end up calling the College Board. Following their typical anachronistic procedures, they told them that, for security reasons, they would have to get a fax from me stating that I allowed them to release information about the case to the university. Luckily, I had decided to purchase a printer with fax capabilities when the name change request form process happened, so this didn’t take long. I sent it on a Thursday night after receiving the message that instructed me to send it. On Friday evening they had not yet received it because of some queuing system. I asked again on Monday, and…

Surprise! They no longer needed any fax confirmation from anyone. In their own words, “they just wanted an E-Mail from ES international School stating that I could take a make-up test there. Never mind the fax”. Coincidental, given the proximity in time of my complaint letter. Still, this was not the end.

The ES International School was also contacted about this, and was told about my accommodation needs. Somehow, even though the College Board does offer practice tests in word format on their site and I had explicitly requested these, my listed accommodations were only a Braille testbook, Braille writer, and a person acting as reader/writer if needed. The school obviously did not have a brailler, so they tried to get explanations from them. The person who had contacted them became unreachable for a week and a half. In that time, my dealings with ETS reached a conclusion (explained below).

I finally decided to call the College Board SSD and ask anyone who would listen to me. I explained my problem to the first agent that responded to my call, who didn’t even seem to know what Braille was. I spent about ten minutes on hold while she asked her supervisor whether they offered computerized tests like the ones on their own site. She came back and stated the following: “Sir, we do not offer computer-based Braille tests”.

After trying and failing to figure out what that even signified, I tried to explain what I actually wanted. A minute later, she took the bull by the horns and the following exchange happened:

  • Agent: Look. You want a computer-based test, right?
  • Me: Yes.
  • Agent: Yeah. We don’t offer that. Also, the test materials have been shipped to the test center already.

I was left without much room to talk, so I politely ended the conversation, hung up, found an old Perkins brailler I had not used for over six years, and notified the test center that it would be fine to take whatever test they wanted me to take.

I must admit, I am not a very fast Braille reader. I knew I had 100% extended time, so I assumed I would be fine. Then the test center called me and told me they had received the test book. With a label that said “Grade 2 Unified English Braille edition”.

For those of you who may not know, Grade 2 Unified English Braille (UEB) is a stenographic Braille system for English. This means that, instead of mapping symbols to letters, it has a huge number of contractions for common words and letter groups. This makes it extremely difficult for someone who doesn’t know UEB to read it without having prior training. As a Spanish citizen, I had never received such training. Therefore, even though I tried to brush up on my almost nonexistent UEB knowledge before the exam, it was not useful at all.

I took the brailler to the test center, along with some (supposedly) Braille paper I found lying around. Unfortunately, the paper was too big for the machine, so I was forced to have someone else write the responses. FOr the Math section, I took my notes on a Windows laptop the test center provided, which was offline and only had Notepad open on it, while the supervisor watched what I was doing.

The academic administrator of the ES International School, whom I had been in contact with throughout all of this, had the infinite patience required to read me the four sections of the SAT, going over passages as many times as was needed, which took a total of seven hours between two days. How she didn’t chop my head off at some point in all that time, I do not know. Luckily, while you do have to deal with inept and sometimes straight up rude people in these processes, you also encounter amazing people like her.

ETS

A bit after my complaint letter was delivered to the right people, I got tired and started calling ETS at least once every day. The processor for my case finally showed up on the third or fourth call. Magically, the case was resolved on that conversation as well. They offered some kind of make-up test at a center approved for SAT, but not approved for TOEFL. Guess which center that would be?

A few days later, on the week of march 19th, I took the TOEFL at ES International School. This one was delivered in computer format, with nice hyperlinks in the reading sections and everything. I almost enjoyed taking it.

The end. Or is it?

I had taken the tests. Everything was OK. I could breathe. I could stop caring and just wait for my scores. I could be happy. I…

And an E-Mail from ETS arrived, with a ticket confirmation for a TOEFL test.

In some university in New Jersey.

On March 31st, two days after the date on which I received the E-Mail.

This obviously could not be true. I could not be expected to go to the US for my test. But I feared the worst. I feared that the everpresent disorganization and carelessness had made them forget I even took their test at a school here. Or… Something. So I called them.

After 10 minutes of going back and forth with the representative and getting nowhere, I simply asked her to contact my case processor. She did. For once, she was at her desk on my first call. Without giving any more details, she told me to E-Mail her with the universities I wanted my scores sent to and wait.

About a week later, I received my TOEFL score, which was somehow assigned to that March 31st date. I have waited for two days to see if I get any news about my score reports, but so far, I have not. I will call ETS later today.

As for the College Board… Not even three hours ago, the ESIS academic administrator forwarded an E-Mail to me from the person at College Board who seems to be handling my test. In this E-Mail, she asked if I had enough vision to see a computer screen (ESIS and I had already informed them that I was 100% blind) and asking when the brailler stopped working. Why this is relevant, I do not know, but I cannot deal with more score delays.

Conclusion: My current situation

  • My TOEFL scores have been released, but most likely not sent to the university.
  • My SAT scores are nowhere to be seen and the College Board is now asking seemingly pointless questions (again?).
  • The university has given me a final deadline of April 25th for scores.

Thanks to the intervention of some professors, the people at the financial aid office of the University have also assured me they will take me into consideration for scholarships. Due to my financial situation, and given the exorbitant tuition fees for international applicants, I would require a full scholarship to even consider attending the university. Not only are full scholarships extremely rare, but me getting one has also been made much less likely due to all of these delays caused by the College Board and ETS. It is not something I have very high hopes for, but after everything I’ve dealt with, I can’t not try.

Furthermore, I have found out that, if I am not given the full scholarship and cannot study at IU, I will have to take access tests for the Spanish music school I would like to study at. Thse access tests start a day after the 2018 Piano Academy does. This is the last year I can attend the program, and it is something I definitely don’t want to miss.

I still find it hard to believe that these things can even happen, especially with such important organizations as the College Board and ETS. Their disinterest, ineptness and disorganization within their SSD departments has caused me a great loss of time (and faith in humanity). It may also cause me to be unable to fulfill my dream: to study at Indiana University.

Thank you for reading this, and if you ever must deal with these organizations, and you happen to be both international and disabled, best of luck to you. You will need it, and a truckload of patience.

Update: April 17th, 2018

I received my SAT scores on Thursday last week. This time, it really should have been over. It really should have. But alas, it seems I am not a lucky person.

I have to send my score reports directly from the College Board to IU. This process is handled entirely by the College Board and all I have to do is enter a school code, pay a $12 fee and move on. The problem here is that, according to the College Board, standard shipping takes about a week (knowing them this means at least two), and my deadline is April 25th. My other option is rush shipping, which costs around $40 more. In my opinion, given that most of the problems that caused my tests to be delayed to a date after the regular university deadline were not in my hands, I should not be expected to pay over $40 more than everyone else. Yesterday I called the College Board about this and talked to a representative who made me feel ignored. She took about ten to fifteen seconds to respond to me, on three occasions made questions that had already been answered (in one instance she had answered her own question 20 sceonds earlier) and did not help at all with my issue. I will try calling again today.

Of the testicular versatility of the inhabitants of the Sovereign Kingdom of Spain: More Castilian Spanish vulgarisms

Well, we’re back to this topic, the topic that started this blog. A topic that, as it seems, people enjoy reading about way too much! You know, come to think of it, one must wonder why people enjoy reading about such things as the unrestrained fecal matter output of the population of the kingdom of Spain, but humans are strange.

After writing my first post, thanks to Sukil‘s and other Spaniards’s comments, I realized I had left a few interesting expressions and figures of speech out. Most importantly, I had neglected something very dear to us Spaniards. A word that, for many centuries, has found so many uses in popular culture that it is possibly one of the most polysemic words in the Spanish language.

The word “cojones”, by itself, is a generally inoffensive (by Spanish standards) term to refer to the testicles. Used as an exclamation, this word becomes a generic interjection with any meaning you could possibly need from it (annoyance, frustration, surprise, admiration, etc). This in itself already grants the word an elevated position in the list of words with the most meanings. The beauty of “cojones”, however, lies in the sheer amount of expressions you can throw it into. I will try to list a few of the most remarkable ones here:

  • De cojones (of balls): This quite versatile expression is usually employed to signify extremes, such as in weather conditions (“hacía un frío de cojones”=it was extremely cold). It can also mean something is really good in one way or another. To underline the magnitude of what we are trying to express, we sometimes add the number of pairs of testicles we are speaking of, usually either three or a thousand (de tres/mil pares de cojones).
  • Estar hasta los cojones (to be up to one’s balls): This one I did discuss in my last post, but it is still worth mentioning. You are up to your balls in something when you are absolutely sick and tired of it. Speaker gender is irrelevant.
  • Los cojones (the balls): Believe it or not, this is actually a full statement that everyone in Spain will understand. It has a similar meaning to “y una polla como una olla”, its English equivalent could be something like “Yeah, right”.
  • Con dos cojones (with two balls): Usually, this expression by itself is a sign of admiration towards something someone did while showing bravery or tenacity. In certain situations, however, it is common to use this expression with the opposite intent in sarcasm.
  • ¿Qué cojones? (What/which balls?): This is possibly the closest Castilian equivalent to the very common “what the fuck?” in English.
  • Un cojón (one ball): This is actually a unit of measurement. Although it is currently not accepted by the SI, it is universally accepted by every Spaniard as the largest unit of many measurable magnitudes. You can say, for example, that something “cuesta un cojón” (costs a lot/is very expensive), “me duele un cojón” (is causing me extreme pain) or “mola un cojón” (is insanely cool). While this unit can usually only have a value of one, it is sometimes accepted to move it up to 1.5 (un cojón y medio).
  • Me importa tres cojones (it matters to me three balls): For some reason, this is the Spanish equivalent to “I don’t give X shit(s)”. Except that in our case, for once in the history of Spanish vulgar language, we do not speak of feces, but rather of testicles, and in an immutable quantity of three, which makes me wonder about the origin of this expression, as testicles (usually) show up in groups of no more than two.
  • Tocar los cojones (to touch one’s balls): When something is touching someone else’s bals, it means they are bothering or otherwise causing them discomfort. It is irrelevant whether the receiving entity possesses testicles at all, and whether whatever is touching this entity’s balls is actually capable of touching anything at all, let alone the receiver’s privates.
  • Tocarse los cojones (to touch one’s own balls): In fact, tactile stimulation of one’s testicles alone possesses a second meaning. When someone is touching their own balls, it means they are doing absolutely nothing at all or being lazy in some other way.
  • ¡Tócate los cojones! (Touch your own balls!): By this time you are probably thinking that Spaniards spend half their time talking about who or what exactly is currently feeling their (sometimes hypothetical) nuts. In this case, when you order someone to touch their own balls, you are simply expressing extreme surprise or unbelief towards a situation. This is sometimes accentuated by the addition of a second part to the exclamation, “tócate los cojones y baila” (touch your balls and dance). Whether the recipient of the exclamation follows your command or not is entirely irrelevant and you should not, by any means, attempt to enforce anyone to carry out your orders. Not these, at least.
  • Por mis cojones (by my balls): This one actually translates pretty nicely. It is usually utilized when something poses a challenge to you and you want to make sure your interlocutor understands that you will face the challenge and succeed: “lo haré por mis cojones” (I will do it by my balls).
  • Tener los cojones cuadrados (to have square balls): This expression, the origins of which I simply cannot figure out, signifies pure exhaustion. How exhaustion affects the shape of one’s testicles, I do not know.
  • It is also common to add a couple of prefixes and suffixes to the word to form others: Acojonado (scared), acojone (fear), cojonudo (amazing), descojonarse (to laugh uncontrollably)…

Bonus: A few more vulgar expressions

  • Me cago en la mar (I shit in the sea): This expression accurately reflects the environmental awareness (or rather, the lack thereof) of the Spanish population. Don’t worry, we do of course complain about the high level of pollution of the ocean. Every sensible person does that. And yet, the sea is still one of the most common hypothetical substitutes for the toilet in my country.
  • Cagando leches (shitting milks): No, the plural form of milk is technically not correct in Spanish either, and neither are we able to excrete this liquid straight from our rear ends. When something or someone “va cagando leches” (is going while shitting milks) it is going at an insanely fast speed.
  • Esto parece el coño de la Bernarda (this looks like Bernarda’s pussy): For a situation or place to resemble this unknown Bernarda’s pussy, it must be loud and containing or concerning many people of disparate opinions. Little needs to be said about the most likely origin of this expression.
  • Mira quién va a llamar puta a María Marta (look who’s calling Maria Marta a whore): This, obviously, is a more verbose way of saying “look who’s talking”.
  • Qué tiene que ver el culo con las témporas (what does the butt have to do with ember days?): This strange expression is, yet again, a more interesting way to convey the meaning of a simpler phrase: “What does that have to do with anything?”. Instead of “el culo con las témporas”, you can also use “el tocino con la velocidad” (bacon and velocity/speed), “los cojones con el comer trigo” (testicles and eating corn) or la gimnasia con la magnesia (gymnastics with magnesium oxide).
  • Tener una flor en el culo (to have a flower in one’s ass): Someone who is said to have, or to be born with, a flower in their ass is someone who is considred very lucky. Obviously it would be pretty weird to actually have such a thing coming out of your butthole, but apparently, every Spaniard wishes they did. In this, I am an exception.
  • Tener los huevos de San Arcadio (to have Saint Arcadio’s balls): Someone in possession of the balls of Saint Arcadio is someone who is absolutely shameless, insolent and/or cheeky.

Of the stagnation in audiogame development techniques in the second decade of the twenty-first century: Why should we move on to new tools?

Anyone who has developed an audiogame in the last few years will surely have heard of The Blastbay Game Toolkit (BGT). In Blastbay Games’s own words, “BGT is a toolkit that allows you to create your own audio games from the ground up using a simple scripting language coupled together with a powerful game engine”.

BGT has been used in the creation of a huge number of games since it’s release. Many people have learned it as their first programming language and, in the last couple of years, it has seen a few quite interesting external libraries.

In the last couple of years, though, we have also seen a lot of unjustified bashing of BGT. Many people have started to simply talk about how “bad” BGT is with no reason or rime. I myself do think that developers should move on from BGT and, in an attempt to appease those who rightfully ignore the people who cannot justify their complaints, I will try to point out a few of the aspects that, in my opinion, make BGT worthy of disappearing off of the current audiogame market.

Audio System

Possibly the most important issue of BGT, and the most ironic, is it’s extremely rudimentary audio system. For years now we have had technologies that allow us to implement environmental effects and 3D audio into programs on any platform. Of course, different platforms have different ways to handle this. In the case of BGT, though, this fact is negligible and poses the big question: WHY, oh, why does an engine made specifically for the purpose of making sound-based games and only sound-based games, the main focus of which should most logically be offering decent sound support, have the feature set of… I was about to say a sound card of the early 2000s, but in fact, HRTF technology was unveiled in the 90s!

I think it is quite ironic that this fact still remains true and nothing has been done about it even in the latest free update. This, in my opinion, is the biggest reason why BGT is not a suitable game development platform in 2018.

Built-in Feature Set

BGT is being marketed as a simple way to create games and learn programming. A lot of the built-in modules, though, do not have much to do with the creation of games, and the amount of built-in helper modules is quite disappointing. The so called “sound-pool”, which wraps simple stereo positioning of audio elements based on a coordinate system, is extremely basic. While having helper modules is most definitely not required, it is something you would expect from a product which has such a specific purpose.

The community

BGT was created, as they say, “by the blind and for the blind”. It has one very specific purpose: the creation of games with audio and only audio elements. This instantly reduces the possibility of an expansion of the BGT community.

A very important part of a programming language is the community it builds around it. Programmers should aim to help fellow programmers and should be able to use as many resources as they can find. I can almost safely say that any current programmer does not hesitate to check Stack Overflow whenever a seemingly unsurpassable challenge or a simple doubt arises in their coding sessions.

While BGT’s community has shown to be helpful at times and certain programmers provide packs of libraries and utility functions for the masses, it is also incredibly small and limited. The use of a mainstream language eliminates a lot of these issues.

Official Support

Closely related to my previous point is the fact that BGT was pretty much discontinued and abandoned by Blastbay. The previously quite expensive program was released for free a bit more than a year ago and there seem to be no plans for improvement. And yet, it is still being used extensively for many new audiogame releases. I don’t think this requires further explanation.

 

Extendability

Ever since the first version, BGT has had warnings in its documentation about the lacking support for dynamic link libraries. For example, to my knowledge, there is still no support for C structures. This limits BGT developers quite a lot and, given the limited built-in feature set I mentioned earlier, this is a real problem and causes frustration while promoting dirty ways to achieve goals. There are huge amounts of readily-available libraries on the Internet to achieve many useful purposes, and BGT simply does not allow the average programmer to dive right in and use them, which is definitely what something aimed at simple game creation should try to do.

Platform Support

There has been a lot of talking about this specific topic on forums every single time a BGT-powered game gets released. Many people use devices other than Windows computers, and BGT is only able to compile for that specific platform. While some games can be adapted for other platforms, such as through the use of Wine, this is not an ideal approach, especially now that mobile platforms are rising in popularity.

And more!

  • No actual built-in dictionary/hash table/map datatype (no, BGT’s dictionary is not how things work)
  • Unnecessarily confusing compilation errors, especially for new programmers
  • Insufficient facilities for game debugging
  • Executable size (the smallest possible executable seems to go over 800kb and include part of the original source inside)

Sure, alright, complain all you want. So what can we use?

There are definitely many options to switch to, but I definitely know which one I will support.

Many of you will have heard of both Dark Defender and Cyclepath. Both of those games are written in JavaScript, the standard language for web scripting, and run under modern web browsers such as Google Chrome and Microsoft Edge. JavaScript is surprisingly easy to learn, well-maintained, and has a ridiculous amount of extra material available for users. With the release of Node.JS came the [Node Package Manager (NPM)]http://npmjs.com/) which is one of the largest repositories of code libraries out there. While I am not saying this system is the panacea for the audiogame development ecosystem, Using a JavaScript-based environment addresses a lot of the issues I outlined:

  • Audio System: Any modern web browser has support for WebAudio, which instantly gives developers the possibility to use modern technologies such as HRTF and environmental effects quite easily, especially with the help of wrapper libraries.
  • Built-in Feature Set: While JavaScript in itself is just the scripting language, coupled with the browser, Node, or any desktop application framework, such as Electron, JavaScript’s built-in feature set is… Big. And even without that built-in feature set…
  • The Community: The number of people working on JavaScript-based projects is simply huge. NPM is full of interesting packages, and it is not hard to add new ones to it, which is why, if we expand our horizons and start using it more, audiogame-related packages could easily be created and uploaded to the repository!
  • Official Support: JavaScript is in active development together with the browsers and Node.JS which it relies on. It has been the standard for web development for a number of years and it looks like it will remain that way for a while.
  • Extendability: A huge amount of external libraries are available on NPM. Node.JS and Electron can easily integrate external libraries into any application.
  • Platform Support: Any modern browser on any modern platform, including mobile devices and even consoles, supports JavaScript. There are Node and Electron binaries available for the major desktop OS’s.
  • And… More!

Conclusion

With this post, I am not trying to say javaScript is the only and/or best solution, and neither am I saying BGT is the worst. As always, this post is meant to reflect my opinion and nothing else. Some people will disagree with me, and some will agree. I tried to support this post with objective facts in hopes that it will serve as a starting point for what, in my understanding, is a long overdue change in the general audiogame development strategy.

As always, thank you so much for reading!

Of jackboxes, tweets and their translations, and college application frustrations: A status update

I feel like writing. Why? Who knows. I never thought that I would be particularly interested in sharing my thoughts, especially in my boring written English, but… Things change, I suppose. As it seems, my underdeveloped imagination is unable to come up with another interesting post. This is why I have decided that I will try to write up small status updates where I will try to talk about any interesting bits of information/software/meow I happen to come across and may be interesting to other people.

By the way, YES. MEOW. If you have a problem with my choice of a polyvalent term, feel free to contact me and I will do everything I can to ignore you. Thank you.

Royally wasting time with fellow peers: The Jackbox Party Pack

About a week ago, my friend Pitermach randomly decided it would be a good idea to purchase The Jackbox Party Pack on Steam. This collection of 5 games is the first in a series of (currently) 4 packs filled with fully voiced humorous games, with styles ranging from general trivia to finding the truth within a list of lies that your peers whip up. The multiplayer aspect is similar to something like Kahoot!: the host computer runs the game, displays the graphics and plays the audio, while players connect to it through Jackbox.TV, which lets them act as controllers. The host app is written using Adobe Air, which makes it somewhat usable (it displays a web view in which you can usually read the text that is being displayed on the screen). This is by far not ideal, but it is more than you got in their previous games. Party Pack 3 (and possibly 4) also displays a web view, but it is blank. You can usually use OCR to get around this. The Jackbox.TV UI is accessible in the games we can play. In the cases where the buttons don’t have labels, their functions are obvious enough (for example, You Don’t Know Jack has 4 unlabelled buttons for the 4 answers and a fifth “Screw Button”).

Remember that, since the games are made to be played on a big screen or a Twitch stream, the audio is ONLY played on the host computer. If you plan to play with your online buddies, the host will have to stream their audio to all the players in realtime.

If there is enough interest, I will write a post about these games, accessibility tips for each one, and possible improvements for them. If you have played these, or you do play them after reading this post, please make sure to write to Jackbox Games and tell them about what could be improved. The more messages we write, and the more specific and well thought out the messages are, the more of a chance we have of the situation getting better. Thank you!

Reaffirming myself on the fact that Spanish is weird: T and Translate-Shell

As a mac user without the option of spending $20, I do not yet have an app capable of posting 280-character tweets (I still cannot believe this). I got tired of it, so I made myself a quick shell script to post to my account using T. Yes, T. Simple as that. T is a Ruby gem designed for quick interaction with the Twitter API through an easy-to-use command-line interface. It requires you to register a new app on Twitter, which is not hard at all. Viewing tweets might not be convenient, but it’s a way to get around the posting issue.

Of course, my first thought after writing the script was the potential for tweet automation. And suddenly I remembered Translate-Shell, a command line application for those of us who can be more comfortable in a terminal window than a web browser. Translate-Shell provides a complete and very customizable console interface to a few translation engines, such as Google or Yandex.

By combining T and Translate-Shell, I was able to create a script that would take input in Spanish, post a tweet to my Spanish account, translate it using Google, and post the result to my English account, adding a hashtag. While this may not give perfectly accurate results, it can be somewhat amusing, especially since I tend to use somewhat informal Castilian Spanish. If you speak two languages, and you are extremely bored, well, this could be something to do. If you don’t, you now know about two great CLI apps to enhance your terminal.

  • mac users: Translate-Shell is available on Homebrew. If you don’t know what Homebrew is, shame on you. 😛

The frustrations of an international blind prospective student of an American university

I am currently working on applying to the Indiana university Jacob’s School of Music, as well as the University of Michigan School of Music, Theater and Dance. The application for IU was fairly simple, the ApplyIU website is very well marked up and completely accessible. UM, on the other hand, makes you use the Common Application, which is a bit of a pain to navigate. For example, popup buttons/combo boxes are basically a link that opens up a list with all the choices and a small search box. If you attempt to click on an item without anything in the search field, nothing happens. Even if the combo box has two items, you must type something in the search field for it to let you make a choice. After you do, there is no telling where your cursor will end up. As a website that many college students will most likely use, I find this quite unacceptable. Nonetheless, I completed my applications and turned them in. But that was not all.

Spanish students do not usually take the SAT. It is not required or even offered here unless it is needed by students planning to study in the states. The College Board offers online registration for those that do want to take it, though, so scheduling a test is not a huge issue. Unless, of course, you need accommodations for your test, in which case you literally have to give them your home address so they can mail you a paper-based form that you have to fill in to make sure you are applicable for accommodations. Honestly, nothing more needs to be said.

As English is not my first language, I am required to take the TOEFL (Test Of English as a Foreign Language). This test is pretty standard, so I wasn’t expecting to have many issues. Unfortunately, I am not enrolled in any language learning schools, which means I had to do everything on my own. Yet again, regular students can quickly complete a web form and schedule a test. But what if you have a disability? In this case, you need to print out two forms (one of which is about 25 pages long), complete them, scan them and send them to ETS for verification. They take up to 6 weeks to greenlight the requests, not counting the time it takes to schedule the test.

I do not have confirmation from either ETS or the College Board yet, and I am extremely scared of not being eligible for admission into either university because of this extremely inefficient and tedious process.

The latest addition to my vintage assistive technology collection

Those who know me well will surely be aware of my interests in vintage technology for the blind. I have collected a fair number of devices in the last few years and will soon be starting an online repository of resources regarding this technology.

A few weeks ago, I posted on Blind-BST asking for a BookPort classic. Not even 24 hours later I had received a very tempting offer from a user of this list. A couple weeks later, I became the proud owner of a BookPort, running software version 2.4.

Some of you will know that, even though I know that the devices I obtain are quite old, I still try to find a use for them. In this case, this wasn’t hard. I carry my BookPort with me most of the time and use it every day to read books on the subway. I find the DoubleTalk speech quite pleasant to listen to, and it is interesting to me to see how people read books in the past. While I do have better and more modern solutions for reading, there is a certain feeling that comes with reading your favorite books with a device that has existed for about 15 years and is still able to sound pretty decent.

Those of you who owned a BookPort will know how much of a pain it was to transfer files back and forth, since it had its own strange format made up of two files per book (a ._DD and a ._IX). BookPort Transfer no longer works on Windows 10, but there is a utility by the name of UBT which lets you transfer books from Unix computers. It no longer compiles on newer hardware, but Tyler Spivey has helpfully made a couple modifications that make it work on Mac OS (tested under 10.12 Sierra). I wrote a shell script and a bunch of hammerspoon functions which automate the entire process of transferring books to a BookPort straight from ePub files with minimal effort. If you are interested in any of these, feel free to contact me.

The end

Thank you so much for reading! If you enjoyed this post, please share it with your friends and let me know. I will keep writing these updates as I think of more things that may be interesting to others.

Towards the Evaluation of Cache Coherence: a paper by Kevin Weispfennig and Guillem León

The field of cache coherence has been a topic of scientific interest to certain collectives for a long time now. A couple of years ago, after much deliberation, Kevin Weispfennig (@dragon1424 on Twitter) and I decided to start investigation on methods of evaluation of said cache coherence. The resulting scientific paper can be read here.

Thank you so much for reading. Leave your thoughts in the comments below!

Of holy bread and missplaced feces: The wonderful world of Castilian Spanish swearing and colloquialisms

A language has many defining properties. Verb can go last in a sentence, or in the middle. Nouns can have genders or be neutral. You can have a hundred cases and/or verb forms. But there is one characteristic feature of a language that is never really talked about and can be most interesting: the way people swear in it.

I’ll start by saying this: English is boring. Standard English swearing is centered around about two to three words and their combinations. I won’t deny that a well-placed “FUCK” doesn’t feel absolutely wonderful, specially the glorious transition between the first two phonemes. But it’s boringly unspecific, don’t you think?

As a nativ speaker of Castilian Spanish, I have experienced a great deal of it’s rich system of swearing and colloquial expressions which include taboo concepts. But sometimes, I realize how… Odd it must feel for foreigners to hear us say certain expressions that we consider ordinary, be it because of how impolite and discourteous they sound or because of how little literal sense they make.

My aim in this post is to list a few ways in which we express our discomfort, anger, disbelief and anything inbetween, or simply talk about things in not too polite ways, and try to make sense of some of them.

1: Me cago en la puta

  • Translation: “I shit on the whore”
  • Use case: generic
  • Approximate English equivalents: fucking hell, god dammit…

Defecating on things is a Spaniard’s favorite activity in situations of distress. Our most common target is “the whore”. Which whore? Nobody really knows. The point is that nobody cares to think about the poor woman who, by now, must be sitting under octovigintillions of tons of human excrement. Some people argue that the original came from “me cago en la sota de oros” (the “sota de oros” is a card in the Spanish card deck), which transformed into “la puta de oros” (which is still sometimes used), and from there got shortened to the most common form.

Related expressions: general defecation

  • Me cago en la leche (I shit in the milk): Similar use case, if possibly a bit more gross. One of my close family members sometims combines these two (me cago en la leche puta) which doesn’t make much sense, since milk cannot really sell it’s body for money, but throwing in the extra “puta” gives the sentence that little bit of extra power.
  • me cago en todo lo que se menea (I shit on everything that moves): For when you just need those few extra words, and your bowels are so, oh so full of waste, that you can afford to drop a ginormous Mother Of All Shits that will somehow covr everything that is capable of autonomous motion.
  • me cago en la hostia (I shit on the holy bread): Another obsession of most Spaniards is the “hostia” (holy bread), which makes some of our expressions extremely irreverent and blasphemous. Somehow Spain hasn’t cared about that, and has decided that the second best use of holy bread is to commit oneself to the dumpatorium right on top of it. Way to relieve tension.
  • Me cago en el demonio (I shit on the devil): Somewhat less common but still useful.

2: Me cago en tus muertos

  • Translation: I shit on your dead people
  • Use case: anger towards a specific individual or object
  • Approximate English equivalents: Fuck you and your ancestors

This may seem to you like a way too heavy insult, and it probably was. Nowadays though, many collectives, especially younger ones, throw it around like a volleyball and it hurts no-one. The possessive determiner can of course be changed to “sus” if referring to a third person, or even to “mis”, forming a quite nonstandard equivalent of “fuck my life”.

Related expressions: targetted defecation

  • Me cago en tu madre/padre/tía (I shit on your mother/father/aunt): Conducting bowel movements on someone’s family members is not the nicest thing to do, but when us Spaniards are annoyed, we will do anything. Before you ask, no, you cannot shit on someone’s uncle. That’s just weird. You can always add “puta” to the first one for effect (“me cago en tu puta madre”), or if the annoyance level is at a total extreme, you can specify that this mother is, indeed, the one that gave birth to whoever you are talking to (“me cago en la madre que te parió”) and even combine the two variations for a finishing blow. It’s also common to simply say “La madre que te parió”, because mentioning someone’s mother is obviously an insult to them.
  • Me cago en tu estampa (I shit on the paper reproduction of the picture of you that was transfrerred from a stone, wooden or metal panel): I’ll admit, I just had to look up the word “estampa”. This makes me wonder why, of all words, we decided to use this one. But I won’t complain. Just don’t use this too much.
  • Me cago en las cuatro farolas que alumbran la tumba de tu puta madre (I shit on the four lamps that illuminate the grave of your whore of a mother): Coming from a Spanish app to find insults, I found this one about two years ago and haven’t ever actually heard it. It may be made-up, but that does not in any way diminish the absolute devastating power of the expression, or the little sense it actually makes.

3. Estoy hasta los cojones/el coño/la polla

  • Translation: I’m up to my balls/pussy/dick
  • Use case: exasperation
  • Approximate English equivalents: Something like “I’m fucking done”, maybe

This is the general expression to use if you are just sick and tired of absolutely anything or anyone. You can be up to the balls in anything, even if it physically could not do that. If you got tired of reading this article, you could easily say “estoy hasta los cojones de este artículo”, even though you cannot, in fact, be up to the balls in this article. Something quite unusual about this expression is that, while only males use “la polla” and only females use “el coño”, “los cojones” or even “los huevos” can be used by males and females alike. Choose your genitalia!

Related expressions: aggravating genitalia conditions

  • Me tiene los cojones hinchados (it’s got my balls swollen up): Not much to explain here. Apparently, the more tired you are of something, the larger your testicular diameter.

4: Me suda la polla

  • Translation: My dick is sweating
  • Use case: Extreme and violent indifference
  • Approximate English equivalents: I don’t give a fuck

Everybody knows that, in a situation where one’s opinion about a particular matter is undefined (A.K.A. one doesn’t care) the immediate reaction is an activation of the sweat glands located in the genitalia. We Spaniards, eloquent as we are, feel the irrepressible need to bluntly inform our interlocutor of such an event with no regard for euphemism. Sometimes, the amount of indifference is so remarkable that we simply omit the mention of our genitalia and say “me la suda”, hoping that the other person will know exactly which part of our body is sweating and breaking a grammar rule in the process.

Related expressions: reflexive genital reactions to indifference

  • Me la pela: This one is a bit tough to explain. “Pelar”, which literally translates to “to peel”, is a not too polite way to refer to masturbation, if used in reflexive form. This one, apart from also breaking grammar rules, implies that either the situation which you feel indifferent towards is masturbating you, or that your penis is masturbating itself, neither of which make any sense. Does that stop us? Of course not!

5: Y una polla como una olla

  • Translation: And a dick the size of a pot
  • Use case: disbelief
  • Approximate English equivalent: That’s bullshit

Picture a situation where someone mentions something which you simply cannot believe or are very skeptical about. If you were asked, at that very moment, to think of something just as unbelievable as what you just heard, what would that be? For a Spaniard, that “something” is a penis so large that it reaches the size of a standard cooking pot. The only possible reason for this comparison is the rhiming factor, and even then it seems slightly farfetched, given that even in it’s regular size, I’d say a penis does not resemble a cooking pot in any way.

6. Porque me sale de los cojones/el coño

  • Translation: Because it comes out of my balls
  • Use case: Determination to complete a specific task
  • Approximate English equivalents: Because I feel like it

There isn’t much to explain about this one. No, the things we want to do really do not spontaneously come out of our genitalia. But we like to say they do, for effect.

7. Tiene cojones la cosa

  • Translation: The thing has balls
  • Use case: surprise and disbelief
  • Approximate English translation: Something to the effect of “That’s ridiculous”

After the grotesquely enlarged penis comparison, when a Spaniard finally comes to the conclusion that whatever it is has indeed happened, their first reaction is to give the concept a good pair of testicles and mention them. Does this mean that anything which has a pair of testicles is unbelievable? Is my country somehow judging the male gender with it’s use of the language? Yes, those are rhetorical questions. I’m not going to answer them.

8. Hostia puta

  • Translation: Bitchy holy bread
  • Use case: Generic
  • Approximate English equivalents: Holy shit

While the English language insists on making things “holy”, Spanish simply takes something that is already associated to the subject of religion and adds the most generic swear word in existence, which translates to “whore” or “bitch”.

9. Vete a la mierda

  • Translation: Go to the shit
  • Use case: anger towards a specific person
  • Approximate English equivalents: Fuck off

That’s just it. If you’re tired of someone, you send them to “the shit”, an unspecified location presumably full of excrements where they can enjoy the rest of their life. Seeing the amount of general fecal matter that the Spanish population likes to eject (see num. 1) this may actually be pretty bad.

Related expressions: Places to send people you are tired of

  • Vete al coño de tu madre (go to your mother’s pussy)
  • Que te folle un pez (may a fish fuck you)
  • Vete a tomar por culo (go take it in the ass)
  • Vete a tu pueblo a robar gallinas (go steal chickens in your village)

Extra: Other interesting sayings

  • Donde Cristo perdió la zapatilla (where Christ lost his slipper”: In the middle of nowhere
  • Estar a tomar por culo: To be very, very far away. This is almost a unit of length in Spain.
  • Estar de pipa-almendra (to be of sunflower seed-almond): This doesn’t make sense to us either. It means to be in a bad mood.
  • Tener pocas luces (to not have many lights): To not be very smart.
  • Buscarl tres pies al gato (to look for three feet on the cat): to distort the truth or to look for a nonexistant conclusion by twisting logic.
  • Y que si quieres arroz Catalina (and do you want some rice, Catalina?): Used when someone repeats their point over and over again and you start getting tired of it.