Showing posts with label rant. Show all posts
Showing posts with label rant. Show all posts

Saturday, June 25, 2016

The Hackathon Circlejerk

Just like any other competitive activity that exists for students, like sports, or Model UN, hackathons too have their own little culture going. I know this by having attended plenty of these to predict that in the next hackathon I go to, I'm almost sure I'll run into someone I've met at a hackathon before.
However, I'm not convinced that's a good thing. For the sake of all students out there who still have the inspiration to get something meaningful done in their life, I sure as hell hope this doesn't become the next big trend among them unless the way hackathons work start to change, and I'm more than happy to explain why. Let this be a comprehensive guide to hackathons and what's currently wrong with them.
(I hope to cover every vendetta, personal or in general, that I hold against hackathons, so bear with me if this article is a little long)

You could argue that working on your own cool little project for 24 hours among other creative people with free food and drinks sounds petty awesome. And honestly, that would be true if hackathons were fair and perfect.
Unfortunately however, most of them are not; and all the people who frequent hackathons regularly know this as well.


That said though, some hackathons are not so terrible and are actually worth participating in. I'll start with the drawbacks of how hackathons work today, and move on to which ones you might consider going to.

Oh, the horrors


A "hackathon" in today's terms is a horrible combination of:
a) organizers who want to make money,
b) sponsors who want to shamelessly promote their brand which at times isn't even relevant to the event,
c) judges who want to steal ideas that have merit for their own company from unsuspecting college students (I'm obviously exaggerating, but it has happened before), and
d) participants who want to bring their month or year old finished product and compete so they can get an easy win.

So why is the system this bad? This kind of characteristic "circlejerk-esque" behavior is usually the result of an avalanche of moral decay caused by one bad persisting feature after another, such as :

  • Restrictions on creativity :
    • Not a single hackathon that I've been to has encouraged the idea of simply hacking together a neat project. Kind of ruins the central philosophy behind a hackathon, doesn't it? The criteria for winning involves "what can sell" instead of "what is fun". I understand why this might be necessary but maybe the reason why hackathons have such a bad stigma is because they're so unnecessarily commercialized. This has been the biggest shock for me since my first hackathon and I'm still adjusting to it. To me, any good idea has merit regardless of whether or not it can make someone money. This can easily be solved by having an open mind while judging or having a more relatable panel of judges altogether. An example of a parody hackathon that was a great satire against this problem was The Stupid Hackathon.
    • A lot of hackathons have a "theme" that your project is supposed to comply with. That's fine with me, but the shitshow starts to surface when you have to use a certain platform/technology/stack by mandate. These are usually not announced prior to the hackathon commencing and even if you don't have to use it, they provide you some incentive to, which still sways a lot of the participants out of greed to win. This usually happens by intervention of the sponsors and can be solved by keeping the event agnostic to the sponsoring agent.
  • Unfair practices :
    • An overwhelming majority of hackathon winners are people who've begun well before the 24 hour time limit. A lot of people use hackathons as a break from their lives to come together and hack something new and innovative, and people like these who bring their already existing projects into the mix just ruin the spirit altogether. You can't confront them about it either as there are no specific rules in place about the shameless lengths you can go to for winning. Pre-screening projects before submission might be a small fix, but there needs to be a proper solution to this before hackathons turn into a cheap platform to just shout out your startup ideas into an indifferent crowd.
  • Bad commercialization :
    • You are judged by your presentation, not your project. As mentioned before, the judges are almost always swayed by profitable ideas instead of innovative solutions. This is because companies have stopped seeing hackathons as technical endeavors, so they send out people from marketing to judge. As a result, participants with strong presentations are seen as better candidates even if their technical stack aren't even in working condition. Sponsors need to start sending out actual developers and engineers who factor in things like code complexity and technical implementation in selecting the winners.
    • Sponsors don't hesitate to shamelessly advertise themselves right in your face. Sure, I don't mind a brief intro and mentions about technologies I might actually use, but that rarely ever happens. The hackathon might have begun 12 hours ago, but there will still be a guy on stage talking about some weird product or API that has absolutely nothing to do with the hackathon or any of its themes. In retrospect, this is a bit sad to see because no one gives him/her any attention despite them having paid to be a sponsor for the event. Involving only strictly relevant sponsors doesn't sound like an impossible thing to do.
    • Sucking up is more common than it should be. "Open hacks" aren't really open, all it means is "we'll let you code whatever you want, but we'll only favor those that are relevant to the sponsors". As ridiculous as it is for hackathons to expect you to "solve healthcare in 24 hours", it doesn't matter even if you manage to do so, because your neighboring team who wrote a bot with the sponsoring company's API is going to win. I get that there's always going to be some bias or the other from the judges, but maybe the sponsoring and judging entities should be kept isolated for this reason.
  • Bad hygiene :
    • As an 18 year old, going a day or two without sleep might be alright occasionally, but that can soon take a toll on you. Unfortunately, most hackathons encourage you to stay up and push through (even if they don't actually say it), and then act surprised when everyone seems too tired to present their ideas the next morning, and those that do, deliver unenthusiastic and mediocre presentations. This can be solved by increasing the duration of the event, and just having all the participants leave at night, or just halting the event altogether at midnight by turning the lights off and insisting that everyone gets some sleep. Few hackathons have successfully done this before.
    • Junk food is pretty much the go-to solution for hackathons these days. Organizers have started to tie in with indoor caterers or simply bulk order from freshmenu for example, but I'd really like to see this done throughout in other smaller hackathons too.


But they're not all that bad


If you absolutely insist on attending a hackathon or have already been sucked too deep into the culture to quit, there are ways to find out the few that provide a decent experience.

First off, avoid hackathons at colleges or other institutions. They are a perfect example of every horror I've listed above. If you replace professional organizers with a student body, you can't really expect anything different. Do not waste time in one of these unless it's a hackathon happening in your own college, and you don't mind killing a night with your friends.
Second, look for "branded" hackathons with a good reputation through the years. My city doesn't have many of these, but I'm aware that some of the hackathons in the US (some even from institutions) can be a fun experience as they've dealt with and refined the same problems over years and have pretty much turned hackathons into art at this point.
If you can't find anything like that, look for hackathons with only one sponsor overall. You can always tell these apart by the name of the event. You don't need to be a genius to know that the InMobi Hack Day is sponsored primarily just by InMobi. You still might have to deal with biased judges in this instance, but there at least won't be a conflict in themes and commercial interests. You can rest assured that they can afford to have more professional organizers who will help you out better when the need comes.
Lastly, if you do settle on a hackathon, call them up and inquire about the themes, the meals and the winning prizes. If they can't answer any of those questions or tell you that they will be answered at the event, you should consider calling it quits as any reason for doing so is almost always a bad one. This also helps to get a measure of how good or bad the organizers are going to be in general.

If you've finally settled for a hackathon that you're going to attend, whether a good or a bad one, here's a few a good things you can expect along the way :

  • Learning : No matter how simple your idea is, you're going to be surprised how awfully difficult it can be to set things up when you're coding live. You're going to run into bugs you didn't even know could exist, and when it's not a bug, it will be a logical flaw in your planning itself. Dealing with these things under pressure is really an experience and will make you a better developer by the end of it all.


  • Networking : Probably the biggest resource in a hackathon are the people around you. Go ahead and talk to the people and find out what they're hacking. You never know who among them could end up being a future teammate or help you get an internship.
  • Actually build something : You and your friends will come up with a lot of crazy ideas over time and in your leisure, but how many of them are actually worked upon and completed? A hackathon is a really nice way to actually get people together and work on an idea that you've always had. It serves as a social event, and at the same time isn't quite, so you can use it as a convenient excuse to take a small break form your other commitments and responsibilities momentarily.
  •  Bragging rights : Of course, winning a hackathon is always such a sweet feeling. Depending on how popular the hackathon in question is, it could also serve as a neat little badge on your resume. If the winning prize turns out to be decent too, that would be the icing on the cake.


I'm not playing Devil's advocate here though. My overall opinion was and still is, that hackathons suck.
If you've never been to a hackathon, or even fully understand what a hackathon is, that's good because you can't miss something you've never had. Next time someone invites you out for a random hackathon that doesn't match the above criteria, you can take the opportunity to laugh and promptly walk away. You're not missing out on much, I promise. Even if you have this insane idea for an app or website that will floor any competition, the experience of a hackathon is hardly worth the measly prize at the end of it. I'd advise you to just gather a bunch of enthusiastic people and try your luck as a startup instead. Even if it doesn't take off, your productivity and experience with reality along the journey will thank you.


Monday, August 31, 2015

Indian engineering colleges are terrible at approaching technology

You might remember the good old Turbo C++ IDE from your common engineering classes. While the nostalgia inducing GUI can look like a smurf threw up pixels on your screen, there are actual reasons why you'll never see a qualified programmer use something that almost literally resembles a makeshift BSoD.

In fact, this isn't a problem that only I've decided to speak up about. Engineering students have long since taken to sites like StackOverflow to express their concerns about this as well :

Now, I don't deny that there might be some hidden superpowers that might make Turbo C an excellent IDE/Compiler, but taking what's common from the answers in the links above, there is a genuine reason to stay away from it: Turbo C is just way too old.

Here's the thing: The way technology works, something obsolete is almost as good as irrelevant.

When it comes to technology, it's in its nature to keep itself changing by constantly updating to newer and more efficient practices. No matter how popular a product in this field is right now, if it can't keep up with these changes, it will soon be forgotten.

There are very few exceptions to this, and I'm sure half of you are already shaking your heads :
But Arvind, for learning programming basics, Turbo C works just fine. Any C++ program that works in a newer compiler will also work on Turbo C, so what's the big deal?
Actually no, it won't. Remember when I said that technology keeps updating itself to follow newer standards? Well some of these standards are not backwards compatible. So if you tried to compile a newer C++ program across an old C compiler, it isn't necessarily going to work.

My issue with the way colleges here teach technology isn't just restricted to the fact they use software older than I am (which is a pretty big problem by itself), but I'm also unhappy with the entire mindset in which these things are taught.
Applying logic and critical thinking isn't generally encouraged. Programs are given to students, and they're expected to memorize the flow for the time being. The components and elements will be explained, but their logical use cases and why they need to be used there are left in the dark.

The entire idea of "finding a solution to the problem" is a foreign concept to students. There is no inspiration for creativity. Why would someone put in the effort to come up with a better or different solution when they know that no one's going to give a crap? It's no surprise that senior CSE or ISE students find their syllabus so hard. They're randomly expected to do new and advanced things after their entire thought process behind coding was built on programming habits they developed by memorizing programs that aren't even relevant to today's technology.
An education system like this helps only to churn out manpower to companies which require constant grunt work and pay very little. They'll have no problem letting you go when that work is done and you've displayed no creative prowess to help the company innovate.

No matter how big of a disadvantage you realize this can all be, there have been people who made it out of this system without lasting damage. Quoting a comment on one of the StackOverflow answers above,
"If you want to gain some real-world experience, take on the challenge of getting the University to update its compiler technology. You will be helping all of the students gain a more relevant education, improving the value of the university program, and learning tons about how to persuade people when you have no direct influence, a key part of any professional's life."
In my college, I intend to at least try to bring about some positive change by communicating with the authorities, and on the off chance that it fails, I could always start a club where we teach ourselves all that which today's graduates sorely need.

Wednesday, October 2, 2013

Top ten typos that you need to stop making

Spelling right isn't just for Grammar Nazis. It's for anyone who doesn't want to look like an annoying little prick.
Because you know what's more annoying than people correcting your spellings all the time?
That's right, your spellings themselves.

If you're not new to the English language, then I don't see why it's just so hard to spell words right. Some intentionally shorten words for convenience (not very convenient to the person reading it), and at other times, the typos are mere accidents; for which we have a backspace key. Use it.

I've seen enough typos to even compile my own top ten list.
Every time someone makes a typo that's on this list, my dictionary grabs a match and sets itself on fire.



Presenting to you : My own top ten list of words that you need to stop misspelling.

10. Lose and Loose

Lose: Opposite of win
There's no way that I'm gonna lose the grand prize.

Loose: Not tight.
Turns out that the prize was a pair of loose pants.

9. Weird and Wierd

Weird: the 'i' comes after the 'e'.
This word is an exception to the I before E except after C rule.

Wierd: Every time you spell it this way, a dolphin gets run over by a jet ski.

8. Then and Than

Then: used for time
First I got high, then I tried to solve the Rubik's cube while eating an apple.
('then' indicates that one action happened before another. It separates events based on when they occurred)   

Than: used for comparison.
I am much better at eating an apple than eating a Rubik's cube.
(than compares my ability to eat an apple to my ability to eat a Rubik's cube) 

7. A lot and Alot.

A lot: Remember to leave a space there.
Don't forget that there's a lot of space in outer space.

Alot: is not a word.
You don't write alittle, abunch, akangaroo or adouchebag.
So don't write alot.

6. Weather and Whether

Weather: Snow, rain, sunshine, typhoons. All that crap.

Whether: Used this way :
Your correct usage of this word will determine whether or not I kick you in the balls.

5. Advice and Advise

Advice: is used as a noun.
Take my advice. I don't use it anyway.

Advise: is used as a verb.
If Arvind advises you on spelling, you must suck really bad.

4. Definitely

There is no "A" in "definitely".

If you put an A in "definitely", then you're definitely an A-hole.

3. It's and Its

It's: Contraction for "it is" or "it has".

Its: Indicating possession.

It's not fine to tell your dictionary that its the most unused object in the house.

2. Your and You're

Your: indicates that something belongs to you.

You're: Contraction of "you are".

You're really pathetic if your spellings suck.

1. Their, They're and There

This one is every Grammar Nazi's worst nightmare. 3 words that are spelled differently, but sound just the same.

Their: Their cow keeps eating the leftover casserole.
They're: They're gonna get a shovel to the face unless they keep that cow under control.
There: Look over there! The cow turned into an alien.





You can always use Google if you're not sure how to spell a word.
Bad spellings can also make a lot of what you write look very unprofessional, so maintaining a good spelling habit is a good idea is general.
It's even fine otherwise - You know, if the keys on your keyboard are floating around and switching places, you need not worry. Dyslexia is treatable.
Cheers.

(There were no blog posts during September because I had exams + I had way too many distractions to do anything even close to productive)


Source(s) : Personal experience, The Oatmeal.

Tuesday, April 17, 2012

OCD Boon or Bane?

This post is part of the "First Few Old Blog Posts" archive.
You could expect a certain lack of coherency/maturity from these posts.

I was rifling through a Wikipedia article about RenĂ© Descartes , supposedly a great patron of mathematics and philosophy when all of a sudden I remembered about something called OCD which I always wanted to know more about. I don't know why I thought of it at that time , but the next thing I knew , I was on Wikipedia again. This time staring at a different title:


Also known as Obsessive Compulsive Syndrome , this is an anxiety disorder characterized by intrusive thoughts that produce uneasiness, apprehension, fear, or worry, by repetitive behaviors aimed at reducing the associated anxiety, or by a combination of such obsessions and compulsions. In short this means that people having OCD often have random/unwanted thoughts/habits (this is common even among other people) , but they feel uncomfortable or anxious unless they carry out their compulsion.
I read on and realized that the description of the symptoms was quite precise , if not exact , with what I did
I never really thought before that I actually had a disorder of such sort. One major symptom of to always keep things arranged and organized in a systematic order. That made sense like nothing ever did. I opened my school bag and stared at the books inside. Not only were they arranged according to height , but also subject-wise. To accept what I had seen and to admit that I functioned a bit differently from others took me some time.

At first , when I started writing this , I originally titled it as 'God isn't really funny'. Seriously , if you look at it , I have the weirdest combination of abilities and disorders. Who the hell will like it they've been informed that they have the ability to learn and cope with new concepts/environments really fast , but on the other hand , they will also have OCD. So that means you'll get the hang of Java in only an hour but you'll take days to write a good enough project on it. Oh yeah , I may have forgotten to mention this - OCD doesn't seem to have any effect while you're learning or understanding new principles. But it haunts you in full measure when you apply them. In this case I consider myself quite lucky that this is one of the only drawbacks to what I have to endure. The main disadvantage is supposed to be that it will be hard to ignore irrational thoughts and anxiety and uncomfort will be felt unless the compulsion is carried out. I don't know if I'm just "used" to this uncomfort but I don't seem to have any problem at all at discarding irrational thought. If the thought , however is completely sane or will deal no harm , then I don't see any reason not to carry it out.

As I read on , I was greeted by more revelations:
The article said that people diagnosed with OCD commonly share personality traits such as high attention to detail, avoidance of risk, careful planning, exaggerated sense of responsibility and a tendency to take time in making decisions.
And all this while I just thought that I was good at covering up my tracks. Ironic as it seems , I have almost never been caught for any offense I made till now. Makes sense now I guess. You will be quite surprised at how I would think about the hundred possible ways I could get caught and then take steps to eliminate them all. Always thinking a couple of steps ahead was my forte.
Within moments , I realized that I had more advantages than disadvantages at my disposal. Take the ability to learn fast and add careful planning and avoidance of flaws , and you will then have attempts at perfection. Only , it just takes twice the time.
At this stage , I would like to assert that the personality disorder characterized by a pervasive pattern of preoccupation with orderliness, perfectionism, and mental and interpersonal control at the expense of flexibility, openness, and efficiency is also known as Obsessive Compulsive Personality Disorder. Although I feel that I have OCPD and not OCD , it is said that symptoms are very similar and since OCD is more widely known , I will stick to OCD for now.

Secondly , this 'careful planning and thinking' allows me to pull out my strengths even in the most hopeless of situations .OCD is probably the reason that I can outline these advantages in the first place. It allows me to first think what is helpful and what is not in particular circumstances and then do whatever necessary to gain the lead. All I have to do now is make sure that I play on my strengths and avoid falling into occasions which are to my disadvantage. If I can somehow make sure that over-thinking , mental pressure and time consumption are not limiting factors , then I will gain the upper hand.

Thirdly , I realized that OCD can come at one certain point of time from several factors. For example , if I start to feel mentally tired when I'm doing some hard thinking , then due to fear of getting too tired I can abandon thinking about it and divert thought to somewhere else. Just now , before I started typing out this paragraph, I started to feel a bit weary so I just took a round in my house thinking about this anime I was watching yesterday before I continued typing the rest out. So this means that if the task at hand proves to be uncomfortable or tiring , then I can choose to divert my concentration on something less trivial.

Alright , for those who are interested , lets step into my shoes and feel how it is to face OCD.
First , OCD can become seriously inconvenient while doing something will full concentration/dedication. In my case , that will be Programming. Writing a one file program is pretty easy (and fun) and will probably make no difference if any other person programmed it. The problem kicks in when the content increases (or the complexity of the logic). Usually  , you keep track of the features to implement in a program. Lets say I've got Login , Chat and a 'Users available list' left to implement while I am programming a Register feature. My mind constantly keeps telling me that you've got 3 more features to finish coding. My subconscious however , delves further into each feature. This tells my mind that I've got to make a prompt system for Login , A userbase to keep track of the users' records , a password checking protocol , keeping track of who logged in from where , etc . Then it goes into the next thing I was yet to do. My mind realizes that to implement Chat , I have to configure socket connection , make a working protocol to send , receive live messages , make sure every username is unique, etc.
This entire deduction builds up and finally gives the illusion that I've got millions of stuff left to do which finally results in headaches or feeling mentally fatigued. This illusion can be intimidating and while you're trying to remember every one of those features that you were going to implement , you miss out on concentration on the actual task at hand and this results in your work slowing down considerably. Unless I don't actually look back and realize that I've actually got just 3 simple features to complete , this mental stress continues.
This can also happen when you're try to read/understanding certain logical components which was programmed by  a person other than you. You're trying to figure out what programming in that particular fashion will result in . You're just trying to figure out what the output of his logic will be. Simultaneously though , your subconscious will question WHY he coded in that peculiar fashion. Although most of the components make sense only at the end of the program , till then you're constantly bombarded with questions like - "why hasnt he used that variable yet?" , "why did he use that specific datatype?" , "why didnt he do something simpler?". This again leads to mental fatigue and slow progress.

Lets take an example more common and more applicable to people on a day to day basis.
Now , if you step into the room of a person suffering from OCD , you will see that every thing is arranged in one order or another. It may not make sense to you but it certainly makes sense to the person who arranged it in that fashion. Most likely , it will also be clean to the last speck. Now , you might think its not a big deal if you just pick up one of those books from that neat pile to read , you'll just put it back later. Now , if you happen to be close to the person , he will not mind. Else , he might tell you to keep that back down. In either case , he will certainly feel a tinge of annoyance. This is not because he thinks you will be careless with his belongings. He is mostly afraid that you will disturb the order in which it was originally arranged and he doesn't want to put everything back again.

To make things clear , let me state this. A person suffering from OCD is NOT aggressive or violent , or acts strange in public. He's just ignoring stupid thoughts in his mind and forming plans , slowly , but a completely perfect one , when done.

Also , everyone , yes EVERYONE has OCD in very negligible forms if they dont have it on a larger scale. Example of this : Whenever you set the TV volume or the computer's volume , most of us , always set it in multiples of 5 if say the volume ranges from 0 to 50. Although you may have set it to 33 once , you will , or at least tend to set it to 30 or 35.

SO , through this , we come to an end of another one of my blogs. God , I can't believe I ruined another one of my blogs with stupid random stuff about me. My promise to you - next time , I will post about a more general topic which will be way more interesting.

I probably bragged out a lot about myself in this blog. I did so with the sole motive that I want to know myself to the maximum. What I'm good at and what I'm not. So forgive me if I bored you too much with how great I am and stuff. I wrote this in a stretch so I'm scanning for typos and grammatical errors. Forgive me if you fall across one.

Alright , so did you like this blog? Do you think it was too long? Any inaccurate information? Do you think that I'm wrong and that I'm mistaking something else for OCD, and that I'm not really suffering from it? Want to share your experiences too? Any specific parts about this blog that you liked? Any other thing you might want to tell me?
Just leave a comment below or email me at arvind@enkrypt.in

Ciao

Quote: "Action is the real measure of intelligence." ~ Napoleon Hill
Another Quote: "I think , therefore I am" ~ Rene Descartes

Tuesday, April 3, 2012

This is my Blog. My first Blog.

This post is part of the "First Few Old Blog Posts" archive.
You could expect a certain lack of coherency/maturity from these posts.

When I was younger, I always thought of keeping a book where I could pour my thoughts into when I was in a pensive mood. Well I kept one for a few months too in my 2nd grade. I had lost it a long time ago. And never thought of doing it again. But these days, all I seem to do is think So, here's my blog which allows me to model my thoughts to present to you all and also to keep up with the latest trend of "blogging"

No. I'm not the writing type. You won't catch me carefully writing an essay just for lulz. If my homework demands it, then it would probably just see another one of those retarded writings which are not dissimilar to those of my classmates. Its not that I can't, in fact, i'm pretty sure my levels of creativity are above average, its just that whenever I try, I always feel like I can do better. Unfortunately, I never end up reaching the level of expectation I have for myself since I pay to much attention to even the slightest detail and carving all of them into symbols of perfection can be a bit tiring. So this blog also serves the purpose of allowing me to be creative without really giving much thought about how its presented.

Wow. You just read me rant about my childhood and essays, and you're still reading. You must really like me. Unfortunately, this first blog happens to be related about me and stuff, so since you've read this far, it wouldn't hurt to know more about me now would it?

Right, so I'm a programmer living at Bangalore,India , currently doing his ninth grade at high school. My interests would involve discussing/contemplating anything on the topic of computers, science (mainly physics or biophysics), or mostly Philosophy and Life in general. I am also inclined a bit towards religious symbology and history (Not Indian), this maybe because I've been reading Dan Brown again and again. Oh, i must have forgotten to mention - I read a lot. I just love to read. I've been reading different authors' works but when I read Angels and Demons, I knew that Dan Brown had hit me home. He was my perfect author. Nothing had inspired me more than his books had.

I haven't kept a blog before and I need to start this new habit, so it is hard to tell when I may post again. It can take from a day to a week and also maybe to a month. This post however was restricted to lame talk about me (and you read it all , you're awesome) , however hopefully , the next posts will be more enlightening and really get your attention far better.

Cheers.

Quote: "Genius always finds itself a century too early." ~ R W Emerson