Why?

In the student homebase representative group chat, there arrived a message. A certain message leading people to visit a certain site.

Announcement message

That would be this.

This would be a hackathon. An event where programmers (or non programmers) (foreshadowing) would come together and code in teams while competing with other teams to win prizes and recognition from other programmers in the event. Usually, one would have to pay for these kinds of events, but this one was actually free. And held close to my home. So I decided, why not? I’d just have to go to the Global International Indian School that my peers who came from that school had said great things about. Could anyting go wrong?

First impressions

Upon arrival, there was nobody at the front door to greet anybody. Nobody, just security guards and and two large buildings in front of me (One world international school was also right next door).

Image of the campus

I actually had to look in the distance to what looked like the atrium area, to see some dudes changing into their hackathon X jerseys. Naturally, I entered through the side gate to find out that the aforementioned “MPH” area was actually just the entrance area.

Image of chat

Entering the building, it felt more like a hospital than anything. An oddly geometric wooden panel greeted me with a softly lit set of hexagonal ceiling lights, angular edges on the walls, the shebang. It was clear to me that some sort of big corporation built this campus (which is correct, this school actually has various campuses scattered all across the globe) and the designers obviously paid A LOT of attention to designing this place well.

Image of the interior

Registration

This is where I hit the first pothole. There was actually a lot of people “lining” up, surprisingly. I expected much fewer participants but obviously I was wrong.

The crowd

I wouldn’t really call this a line, but I’d actually call this a crowd.

A really packed one. Nobody seemed to know what line up meant (I mean, they were all small children, but that’s besides the point). The workers and even some adult had to yell at the crowd collectively and tell them to get into 3 lines. What formed were three distinct enough crowds, loosely bunched up. Everybody seemed to cut the queue, and nothing was done. Finally, some organizer decided to ask a bunch of people if they had registered yet, and directed them to counters and helped the line move along. I was one of those people and I was told to go to the leftmost counter, with a group already doing their registration.

Annoyingly, at the counter, they actually couldn’t find my name in their wonderfully structured spreadsheet. I had to show them my whole inbox for them to see the two acceptance letters (those who were rejected got one acceptance and one rejection letter due to some system error), and they somehow didn’t have me on the list.

Okay, I thought, so I told them all my details, but as they were filling out my full name, my name autocompleted. That means that my name was already on the system. I was index 3, and they somehow seemed to miss that :p

The opening ceremony

Oh dear this did not go well.

According to the itinerary given to us on our tags and on the slack group, it was supposed to begin at 2:00 PM sharp. Everything seemed to be on track, until it hit 2PM. When we first all did our registration, we were told to go back to the first floor to do the opening ceremony, but instead, people were in chaos. The organizers and/or volunteers had told us to go to the third floor canteen area, but the volunteers on the third floor told us to go to the first floor. After two laps, we were told to go to the third floor and stay there. Instead, only a small group of people went there to get cotton candy, and they all seemed to just go back to the second floor lounging area, where everybody seemed to be.

As I am writing this paragraph, it is already 2:21PM, and no ceremony was announced yet. It has been an hour and twenty minutes, with absolutely no progress done to the event. What a bummer.

Later

It got delayed again. We were all allowed in at around 14:32PM; but turns out, all the “internal” students from the campus that the hackathon was hosted at didnt know how to sit properly, and they all sat too high up in the booths. Everyone was told to move as far down as possible, which took a while. There was also an organizer yelling at all the students on the microphone. How fun.

It took until around 14:46 until the event really got around to strating. It took multiple people, including all the execs of the school coming to get the crowd to quiet down. Surprisingly took very very long.

Announcements

(note: this section is unpolished as fuck because I wrote while they were speaking)

Before he (the announcer, “Karthik”) got around to the actual announcement, He decided to talk about his experience in 2018, where his brand new laptop was destroyed because some teammate of his tripped over the charging cable :skull:

Speaker 1

One Nishant Patil came onto the stage, and…No theme for a while. He shared his experiences after he got elected as the VP of the tech club, including how he witnessed the prices going up. Apparently, he found hack club, a 501(c)(3) nonprofit organization which oversees multiple hackathons globally. The VP and his friends also apparently began crying when they found out that DBS (the bank) ended up being able to ssponsor them in the event.

No theme, though.

Speaker 2

Aditya Bairy, the president of the Tech club came up to the stage, and annouced the theme is…

Not yet. He talked about how he was happy about how multiple student groups came from multiple countries even (oh), came to GIIS participate in the hackathon. He also talked about how the sacrifices he had to make of rejecting young programmers hurted him and made him “sad”. He also told us more talented and older programmers to form our own events, if it suited us ;)

The Theme

Life on all elements. More on my brainstorming later.

The Rubric

criteriamarksdescription
Creativity25%How innovative it is, and
Technical complexity25%The complexity, with comments and documentation
Functionality and usability25%User-friedliness and real-life applications
Pitching15%Being able to answer questions regading the code
Software-dependent marks10%AI would be data representation, Game development would be game design, app development would be the UI, and web dev would be the layout.

The event is declared open!

At 15:12:50 (ish), the pricipal declared the event open. yay.

How it works

Contestants are split into two major categories, seniors and juniors. Juniors are in grades 6 through 8, and seniors 9 through 12. The main difference are the skill levels between the two major categories, and due to the Juniors most likely having less exeprience with programming in general, they are be allowed to use tools like Scratch and Thunkable. The seniors would have more skill in general, so they weren’t allowed scratch, but by the end, nobody actually used it (which is a good thing.)

I was placed into the senior team. I saw my fellow students from places far and wide there, which were also placed into the senior team. I genuinely believed that they, or the older kids would do better than me, as my self-confidence wasn’t too high at the time of me joining. I did not know any sort of toolkit or framework that I could use to create a product, so I kinda had to raw-dog it.

First steps

We were made to go to the Third floor coding rooms. After 2 flights worth of escalator, we would have to make a U turn from the canteen into an auto-opening door, which would lead us to the coding rooms.

At first, I went into S3-07 (keep this one in mind), which was actually supposed to be a Junior coding room, as I’d soon find out. I had already placed my bag down on an empty space on a table mounted to a pillar, and have already grabbed a chair. Oh well, I guess this would be the last time I’d be in a room like this.

I went to the library instead, where we were told to go. At this point, I had absolutely no idea as to what I would build. I wanted to use Rust+GTK+Libadwaita at first, but due to the theme being so incredibly vague, it would be completely useless to build something with it. Additionally, this framework is considerably harder than doing web development, because it uses completely foreign concepts. GTK usually recommends you to write XML to describe your components, and include it in your Rust project as a resource. However, styling and positioning would also be difficult due to GTK CSS being limited and components (widgets) being a pain in general. One could also not subclass a GObject and therefore a gtk::Widget easily without 2 modules per subclass and about 30,000 macros, so I ultimately decided against it.

I was back to square one. At this point, I really didn’t know what I wanted to do. I could make a game in C and raylib, but game development would be my downfall because I’d have to make art. A graphics library would also be a pain overall, and if I wanted any chance of winning, I would have to learn and therefore master a game engine.

There was only really one option left for me, which is web development. I had actually feared this before the event, so I did some practice beforehand with Vue.js, but not nearly enough for a full app. That means that if I didn’t want to be a disappointment, I would have to basically master the basics of Vue while in the Hackathon.

I’ll address my experience with Vue and my overall experience in this 2 day event, along with all the other fun things offered alongside it in the next article. At around 1,900 words, this is already a really long article. I promise, the next one will be just as good if not miles ahead of this one.

UPDATE: here is the next post.

Random things I heard

Some adult: Oh, you joined the hackathon as a participant?

Some child: yes! I did! this would be a great chance for me to demonstrate and develop my technical skills-

That same adult: Why didn’t you join as an organizer?

Some random tall guy who obviously is an outsider to the school: WOW THIS CAMPUS IS AMAZING

The guest speaker mentioned the AI buzzword. ha ha ha ha ha-

Some random things I saw

  • why are there students from places far and wide™ [1]
  • the canteen is actually high tech lmao why can’t our school not force a monopoly on us and force us to pay absurd prices for food? this school has different stalls with different food options. oh wow.
  • the slide authors coldn’t spell “principal” (they spelt it “principle”).

footnotes

  1. Our school song begins with “From places far and wide, we come to make friends and live here side by side”. You may see references later throughout the post, I am not sure.