Category: Rants / Opinions

Booze, Drugs & Rock ‘n’ Roll

The company I’m working for, for almost 6 years (omg) now has a great tradition: Every year, around Christmas we take a trip to a random, previously undisclosed surprise location to celebrate the year behind us. This year the secret location was Rotterdam in the Netherlands. During the last day we had a treasure hunt where the company was split into 4 teams and each of these teams had to do challenges in random pubs, roaming around the city. Obviously a lot of drinking took place. At the end all 4 teams ended up in the same restaurant where a company dinner took place.

Most of us were completely wasted. I remember thinking: “Wow, these bunch of functional alcoholics built a multi-million pound company. And people actually invested money into it, what are the chances?”.

Thinking this further it made me realize that there wouldn’t be tech without booze. Just think about a tech meetup for programmers without the mandatory free beer! It would be something like the beginning of a 6th grade elementary school dance. People would stand around awkwardly interacting with no-one. We are geeks after all, we need some encouragement. Same valid with high profile tech conferences. I’m pretty sure most of the industry’s big investment deals been rooted around a couple of pints or some bubbly. Not to mention great ideas. If someone tells me the idea for stuff like Foursquare not started in a pub then I call bullshit. The original idea might have been like “Fuck, I’m wasted but still want a drink, would be nice to know where my buddies are” (just guessing). So thank you alcohol for all the good stuff (and fuck you for all the inevitable bad decisions, but that is a different story)

Speaking of Rotterdam: Drugs. I myself never been big fan of drugs. I’m not against them but had more bad experiences than good. That being said I’m smoking a joint like at least once every two months. Not for partying, just at home. I quite like how it is messing with my brain and it gives me great ideas / new perspective for existing ideas. These are not world changing ideas, but little fun ones.

One of these ideas were responsible for a little media hack we did with my designer friends, which brought us almost 400.000 facebook fans in one night. About 9-10% of hungarian people are gypsies (roma). Now back then according to the law of Hungary you could name your child whatever you wanted, there was absolutely no regulation. For some reason the roma population started giving weird names to their kids, stuff like Nintendo Lakatos, Rambo Racz and my personal favorite Casette Olah. The government realized that this is not right and they made a law that every name must be approved. The news was full of it. I was fairly high when I saw this news piece and instantly though: we should capitalize on this. Asked my friend to design some funny background and quickly hacked together a facebook app. The user must like our page to get their “Gyspy name”. The app then generated the name on the background and shared it on the user’s wall with a link back to the app. I’m not proud of it (fuck yeah I’m), but it wasn’t against FB’s terms so why not. It went viral in minutes. The morning I woke up and we were up to 150k fans. It was all over the internet. Human rights people said its racist (70% of our users were gypsies so I don’t think they were offended), there were articles about privacy, it was even mentioned on national TV. All because of a joint.

Oh by the way, if you wonder about the quality of my code for this app I wrote while high. The best way to describe it is like this: My grandpa was a builder. As most builders he liked to lay bricks while drunk. One day he was particularly drunk while he was working on my mothers house. He managed to build a wall which was bent in three different ways (think about it how). My code was just like that: functioning, but nothing to be proud of, to say the least.

Now the title says “Booze, Drugs & Rock ‘n’ Roll” so lets talk about music and programming. (and yes, I know this post is about nothing)

For me music is one of the most important things in life. I listen to a bunch of different genres but my all time love is punk. I born in a country where all national holidays are celebrating a revolution so it is understandable that I listen to the music which celebrates the revolution against the “normal”. And by punk by the way I don’t just mean the genre. I mean any song that makes you think or makes you question things that everyone in your life accepts as a dogma. For example I consider Pink’s Mr. President as a fucking great punk track. I consider punk as a guide for out of the box thinking, much like I consider Bhagavad Gita not as a holy book of Krishna but a guide to live your life. (no I’m not a Krishna believer but found the book highly refreshing compared to any western holy books)

What does it have to do with programming? Well this will be highly generalized, I know a lot of people who are exception for this, but I think there are two kinds of coders (neither of the groups is better than the other, but they are different):

(again, this is just my humble opinion and there are more exception than rule)

There are the ones who listen to electronic music. They tend to be very accurate, efficient programmers, producing good code with the tools they been told to use (in school or [insert currently trending tech know-it-all place]). Everything by the book. They are the perfect people for a late stage start up or a big company.

On the other hand there are coders who listened to music their whole life with messages like “it’s ok to be hated”. We are the people who sit at planning meetings thinking stuff like “just fucking do it already”. We tend not to follow process. We would be happy to push an alpha release without QA even seeing the product. We tend to code way faster than the 1st group however most of the time our code is not as efficient / not as scalable. We are the perfect people for an early stage start up.

For example: Lets say there is a new API, pre-release, in a load testing phase. The API is way too slow.
- A group of coders from the 1st group discussing the problem. They decide to use a profiler so they have an argument on which profiler lib to use. They decide on the profiler and implement it. Lets say the implementation takes 2 hours. They find the buggy method and fix it
- A group of coders from the 2nd group get the task to solve the problem. They sit down around one of their computers. One coder adds print(time().”\n”); statements in the code before and after each method call they think could be problematic. They find the buggy method and fix it.
Which group is right? Both! It is just the way of thinking that is different.

Ok, this post was way too long to be about nothing. Sorry about that. To close this off. here is a video which perfectly sums what i think punk is (the band it self is not a big deal but this poem is spot on, especially the last verse)

“There’s a lesson to be learned, one that I will take home,
When I return to my normal reality zone,
Punk rock has the power to change the world,
It lies in every single punk rock boy and girl,
So don’t let anyone tell you you’re not worth the earth,
These streets are your streets, this turf is your turf,
Don’t let anyone tell you that you’ve got to give in,
Cos you can make a difference, you can change everything,
Just let your dreams be your pilot, your imagination your fuel,
Tear up the book and write your own damn rules,
Use all that heart, hope and soul that you’ve got,
And the love and the rage that you feel in your gut,
And realise that the other world that you’re always looking for,
Lies right here in front of us, just outside this door,
And it’s up to you to go out there and paint the canvas,
After all, you were put on the earth to do this,
So shine your light so bright that all can see,
Take pride in being whoever the fuck you want to be,
Throw your fist in the air in solidarity,
And shout “Viva la punk, just one life, anarchy”

Be Sociable, Share!

We are the worst people so far

We have the most amazing technology… “and it is wasted on the sh*ttiest generation of piece of sh*t assholes of all time”

People are stupid, they really are. Especially users. Usually I don’t mind if someone asks me stupid questions, or react to something I do rudely or stupidly. What pisses me off is when someone is not making an effort to figure out the answer by himself before asking. Or making an opposing comment on something I post without reasoning.

I own a couple of quite large communities and the users sometimes scare me. One of the communities is a Facebook fan page with like 350k, mostly Hungarian fans. To be honest the page is not aimed to the most educated audience but sometimes their stupidity freaks me out. For example yesterday I posted a funny picture about a laughing Jesus with a caption “Yes, your girlfriend is saying my name while having sex” (i believe in loads of things Jesus and the Christian god is not one of them). I expected some Christian comments but not this. One of the guys commented:

God will punish you! If I would know who are you I would beat you to death with crowbar

WTF man? That is very Christian of you. This way we will truly get your point. Rock on.

My other community is a social network built around TV shows and movies. Members can watch them, comment them, like them, etc. About 800.000 people using it monthly and the feedback is mostly positive. Then sometimes I get “error reports” like this:

“You f*cking asshole. I can’t watch Twilight on my mobile. You better fix it”

How on earth I owe you something? The service is free of charge, you haven’t lost any money by not being able to watch (the lamest ever) movie. Of course if you ask me politely I will try to figure out a solution for you but not like this.

I think these people are not behaving like this in the “real world”. I think most people don’t understand that when you are communicating with someone online is exactly the same as talking to someone on the street. You don’t say “Nice tits” to a hot girl on the street at broad daylight, but some people do comment stuff like that on Facebook. You don’t go up on the stage after an amazing guitar solo to tell the guitarist “you are a wanker, Slash is way better”, but some (apparently most) people do it on Youtube.

Anyway, sometimes I wish browsers would implement an initial IQ or EQ test before letting anyone to surf the web, even if ad revenues would drop (stupid people tend to click more ads)

Be Sociable, Share!

How Bandwidth is Killing Productivity

Actually the title is bit misleading. The fact is it’s not the bandwidth’s fault but the fact that most of the modern ISP’s plans comes with almost unlimited data.

I’ve moved to a new flat in early December and I was trying to move my BT broadband package with me. Turned out that the building I moved into has some internal cabling issues so BT couldn’t connect me up. I had a couple of fights between me and my landlord, and me and BT but long story short I have no hope for getting broadband in this flat. So I decided to buy one of these mobile broadband dongles. I’m lucky enough to live in a HSPA+ area so the speed is pretty good, but the data transfer is limited and the top-ups are quite expensive. They charge me £25 / 7 Gb of data, which is enough for about 5-7 days of surfing (+ bloody windows downloading it’s annoying updates). First I was really annoyed by it but then I started to realize that it is probably a good thing.

I’m a full time coder at a startup in London but I also have my own projects / freelance jobs on the side so I used to spend about 2-3 nights a week working on those projects. Since I don’t have a proper broadband connection these coding sessions became more frequent (3-4 nights a week) and the output of them was way better. Here is why (I think):

  • No more streaming videos: I have to admit that I’m addicted to TV shows. I used to spend at least 3 hours a day watching my shows. Also there is Youtube where I was just aimlessly watching random videos which I don’t even care about. At the high cost of the mobile broadband data I can’t afford this luxury => more time for actual work.
  • Facebook: I never realized before that Facebook notifications are probably the most disrupting things in the world. I always had FB open in a tab and whenever a notification came up I had to check it. And while I was at it I checked all the recent activity. There goes 30 minutes down the toilet. Then again with these data prices I learned to check Facebook way less.
  • Music: Data cap means no more Spotify, back to the good old mp3s. No more Spotify means I don’t spend hours seeking for new music (which I listen to once then never again)
  • Email: Instead of having gmail constantly open in a window and answering each email right after receiving it, I started to check it periodically. It led to less real-time conversations which saves tons of time for me.

And this list could go on, but you get the idea. The other interesting thing I realized is that I’m more willing to work on boring stuff since the change. Before I usually did the proof-of-concept kind, exciting parts of the project during weekdays and left the tweaking and the fine tuning for the more relaxed weekends. Nowdays I’m more than willing to do a boring form validation or database cleanup type of code chunk during a Wednesday evening.

Anyways: I challenge you to try out having a limited amount of data transfer for a week (install a bandwidth cap software or tether your mobile) and I guarantee you that you will produce more and better lines of code.

Disclaimer: Writing this blog post wasn’t really productive. Now I will use 500 Mb of my data allowance to stream a movie

Be Sociable, Share!

Cut the bullsh*t and start coding already

I’ve been thinking about writing this post for a long while, to be precise ever since last year’s PHP conference in London. At the conference Nikolay Bachiyski did a very inspirational speach on how they manage WordPress. After the speach at the Q&A two, about 18 years old guys were started to ask him questions about scaling, deployment tools, testing tools and similar stuff. I remember thinking: “Man, our industry is in trouble“. Let me explain why I think this:

They looked like some university students who probably working on their own project (which obviously a good thing). I strongly think those guys shouldn’t think about such matters (unless they are actually working for a company, but I don’t think that was the case). In fact IMO the worst three questions you can ask yourself while building a hobby project are:

1, How will I scale my application?
Don’t get me wrong: scaling is important, but I don’t think it is important in the alpha / beta phase of your project. I always believed in the try, fail and try again approach. Build something rough first which works. Release it. If you have enough users to crash your servers first celebrate then drink some Red Bull and figure out your bottlenecks. I think planning for scale before you have a working prototype is a complete waste of time. You will never know what your bottlenecks are and you might end up spending your time on fixing non-existent problems while your competitors might beat you.

2, What tools to use?
By “tools” here I mean both what language and what open source components to use. At the uni I had a friend who decided to make an MMORPG. He spent almost two years researching various database systems, physics engines and server side languages to use without writing a single line of code. You can guess: he never finished the game. I guess my point here would be: use the language and the tools you are comfortable with, make sure you abstract the layers as much as possible and you are good to go in the long run. Of course there are better and worse choices for the job you need the tool for but don’t waste too much time on the decision.
The company I’m working for used to be a complete PHP factory about a year ago. It’s APIs were serving about 6 billion hits per month before reaching the bottlenecks. We decided to move to Python. Of course the transition is taking some time and resources but we can afford it because we gained so much advantage above our competition by developing fast and learning from our mistakes.

3, How will I monetize?
If you are not a startup this is the worst question to ask yourself (especially in the planning phase). You are supposed to be passionate about the project you are developing and don’t care about the money. Develop something you really care about, build a good community around it and the money will come. Yeah I know, server costs, etc. Well, if you truly believe in the project it shouldn’t be problem to spend a couple of quids from your personal bank account, should it?

Did you realize that no new “Next big thing” came up in the past couple of years? I think the main reason is the “kids these days” are thinking too big. They think in corporate. If you think about it the “big things” of the previous decade were very simple ideas: “upload some videos on the internet”, “let’s aggregate some news”, “how about some inner-campus virtual dating?”. Stop thinking startup, stop thinking scale and most certainly stop thinking about money. Do something real cool what people will enjoy and scale will come and money will come
</rant>

Be Sociable, Share!