Robert Basic's blog

Posts tagged 'about'

Recording screencasts of OSS contributions

by Robert Basic on April 19, 2017.

I enjoy contributing to open source projects, and I learn a lot while doing it. When someone asks me for advice on how to improve as a programmer, I usually tell them to find an open source project that interests them, and start contributing.

Easier said than done.

I’ve been contributing since… early 2009 I think, when I joined the Zend Framework mailing list.

To try and bring closer contributing to beginners, I decided to start recording screencasts of me doing open source contributions. To give a glimpse of how I do it.

So far I have created 4 of them and uploaded on YouTube. The quality is not perfect, but I think it’s good enough. There’s no video editing, I want to show how I really do it, no fixing of mistakes, no retakes. I use zoom to start a “meeting” and then share and record the screen. It’s actually the best screencasting software for Fedora I’ve found, and it’s not even a screencasting software ¯\(ツ)/¯

While doing these screencasts I also realised that I quite enjoy doing this and the whole process has the added bonus of me actual doing rubber ducking, because, well, I talk all the time as I do things.

Also, potential clients and employers can get a peak at how I work.

Happy hackin’!

Tags: about, open source, php, screencast.
Categories: Blablabla, Programming.

Need help on your PHP projects? Let's talk!

Things I learned in the past four years

by Robert Basic on December 30, 2016.

Since yesterday was my last day on a project after four years and two months, I decided to take a look back on those four years and write down some of the things I learned.

Things I learned about being a better listener, a better communicator, a better team mate, a better programmer.

Leave your ego at the door

This is probably one of the hardest and most important lessons I learned. I’m happy that I learned it early into the project.

Ego gets into the way of the actual programming. There is no place for it. People get defensive about their code, become deaf to advice, don’t take criticism well. This slows down the development process, makes communicating difficult, if not impossible.

Criticism of my code is not criticism of me. If I submit a pull request and the reviewer deems the code not fit for inclusion into the project, there is nothing to get upset about. The code needs improvement. If I know how, I’ll improve it, if not, I’ll ask for help how. It is much better and efficient than getting all protective about the code.

Don’t play the blame game

Joe wrote an excellent piece on the blame game more than 3 years ago.

Removing the blame from the entire process is liberating. When dealing with a problem, don’t focus on trying to find the person, or persons, responsible for the issue at hand, but try to understand what caused the problem, what is the best and fastest way to solve it, and how to prevent it from happening again in the future.

I know I was lucky to be working on a project where this blame game was not being played and that there are a lot of teams and companies where there’s a ton of office politics and everyone wants to survive… But that stuff really isn’t helping any one. If possible, at least try to not play it within your team, with your closest coworkers.

Take responsibility

Admitting to a mistake is hard. It’s scary.

Admitting first to myself that I’m not infallible, that mistakes happen makes taking responsibility a lot easier. And it becomes easier over time.

I believe that people tend to react positively to sincerity. Being honest and upfront that I made a mistake, saying sorry, goes a long way. Yes, the mistake might have repercussions, but I’m an adult and I stand by what I did.

Taking responsibility is the professional thing to do.

It’s OK to say I don’t know

I don’t know.

I’ve said it a lot. I’m still here, still alive, the world didn’t come to an end. No one punished me for it. The only thing that happened is that I learned new things I didn’t know before. And guess what? Learning new things is part of the job.

Saying “I don’t know, can you show me please?” is perfectly fine. If we ask for help, we will get it. People like helping.

Knowing the business domain is important

We, programmers, are a smart bunch of people. We solve problems for a living. Without knowing what is the actual problem the business is trying to solve and just waiting for others to give us a solution which we need to translate into code, takes away the problem solving for which we initially signed up for. The business will also miss out on properly utilizing the experience we gained so far.

Understanding the core domain makes it possible to give ideas, work together with other people (not necessarily programmers) to come up with better solutions. Everyone will benefit from this. The business gains by having yet another smart person helping out, and you by learning new things.

Not everything we learn need to be exclusively about code.

Ask why?

This goes hand in hand with knowing the business domain.

Keep asking why. Why is some new feature being implemented, why do they need it? If you are joining a project that is being developed for some time, ask why were some things done in a certain way. It will both make learning the business domain easier and faster and it will also help with getting to know the codebase.

Asking why shows the business owners that you care, and caring about the same things as they do will only be helpful during the project’s lifetime. They will provide help and explanations much easier.

Onto new adventures

Working on this huge project for this long is something I’m truly grateful for. Not everyone gets an opportunity like this, especially this early in their professional career.

I learned a lot from my friend, partner and mentor, Srdjan, as well as from Luka who joined our small team recently.

I’m certain the new year will bring us exciting new challenges. If you have, or know of a project where the three of us could help out, let us know.

The Code4Hire team is here to help.

Tags: about, learning, me, random.
Categories: Blablabla, Development, Programming.

Need help on your PHP projects? Let's talk!

Eight years of PHP

by Robert Basic on April 04, 2013.
Heads-up! You're reading an old post and the information in it is quite probably outdated.

This time around eight years ago I was introduced to this thing called PHP: Hypertext Preprocessor. I studied it in college as a part of classes on “Internet Technologies”. It consisted of HTML, CSS, some Javascript and XML, and PHP.

Maybe a half a year earlier my parents finally gave in and agreed to hook up to the Internet via our local ISP. At that time I was mostly hanging out on IRC channels, bulletin boards and the like. Soon enough I got curious about how all that stuff works and me being a fresher picked a class that sounded cool, the aforementioned “Internet Technologies”.

First I wanted to be a designer, but luckily for everyone I soon realised I am not quite talented for that sort of work. I still don’t understand what is so bad about having a green background with red fonts on it.

Then the PHP classes started. I was lucky enough to have a great professor teaching it and I quite enjoyed the lessons. I owe a great deal of gratitude to him and am lucky to call him a friend today. In the following years of college he pushed me to learn more than what was planned by the classes, took me to conferences and made me present my work there and so instilled in me the love for programming.

Thanks Zlatko!

One of the first things we did in class was printing out numbers from one to ten and have the even numbers coloured blue and the odd ones red. Or maybe it was the other way round. And that was fun! Some text that looks like you mashed your hands over the keyboard can do such a thing? It’s magic!

There’s another thing I remember. We had a “home project” that we were supposed to make. It was a simple address book, basic CRUD operations, nothing fancy. Well, nothing fancy today, but then… Oh man. I was stuck for at least a day trying to connect to the MySQL database and run a simple query against it. Once I did it though, I was jumping from joy like a little kid and ran three circles around the house. Magic!

Somehow at that point I was certain that doing this as “work” would be extremely fun and could clearly imagine myself doing it in my life. Hell, for the first time I knew what I want to do when I grow up.

And here I am eight years later, doing exactly what I wanted to do happy with how things turned out. Here’s to eighty more years.

Tags: about, life, php, random.
Categories: Blablabla.

Need help on your PHP projects? Let's talk!

A monkey with a banana

by Robert Basic on January 08, 2013.
Heads-up! You're reading an old post and the information in it is quite probably outdated.

From time to time I browse through the local board shop’s website, especially the “Longboard” section, because, well, I have recently developed this passion for longboarding. Few weeks back, just sometimes before Christmas, I was doing the same. Just casually browsing around, nothing that would catch my interest. And then, there it was, at the bottom of the page. A banana board. “Oh my, a real beauty”, I thought to myself. The price was also in the affordable range. But, a problem was that I really couldn’t, justify to buy it.

Whenever I find something to buy for myself, I really give it a lot of thought and wait for a while, just to see if I really need it. Doing my best to avoid buying stuff in the heat of the moment, which prevents me from having lots of regretable purchases. And it works quite well, can’t think of anything that I regret ever buying. It’s also a very good tactic for saving money.

And after giving it a lot of thought, going to the board shop a couple of times to check it out (sadly, I haven’t seen it, as they didn’t have it in the Novi Sad store, they’d have to order it from their central shop in Belgrade), and giving it some more thought, I finally broke down last week and ordered the board. The fact that they introduced an additional 20% discount around new year’s, also helped with this decision.

Luckily, the ordering time was just two days, so when I placed the order on Thursday, I was to pick it up on Saturday. Marvelous, getting a new board in the middle of a weekend. Even the weather forecast was looking good, not so cold, and dry, even if it’s beginning of January.

Fast-forward to Saturday noon-ish and me being told that the board is actually in Novi Sad, but in the distribution center, and they won’t be delivering it to the shop, as the delivery center doesn’t work on that specific Saturday, but only on Tuesday. Something about having a second Christmas in Serbia and people not working during those days (the orthodox church uses the Julian calendar).

Bollocks.

Tuesday, finally!

And today, just after getting back to the office from the lunch break, the dude from the shop called me, letting me know that the board is in, and that I can come in pick it up after work. “Fuck it!”, I said, “I’ll be there in 5 minutes.”

Once I saw the board, I knew I did a right thing ordering it. It’s just fuckin’ gorgeous! I tried it a little in the shop, paid for it, and hurried out to the streets to give it a test ride back to the office.

It’s fun riding it, extremely fun. It’s much smaller, and feels much different than my longboard. The wheels are smaller, but softer than on the longboard. I was expecting the banana board to be slower, but two-three pushes and it rides like the wind. Oh, and it’s light as a feather!

On slower speeds it’s not really good for making turns, but when going a bit faster the turning is easier. I’m an idiot. I need to loosen up the trucks. The little “buttons” on the top of the board, which are there to provide a good grip whilst riding, are doing their job insanely well. I was pleasantly surprised how good the grip is.

Maybe even a bit too good. While I was riding the board home from the office, the “buttons”, or maybe the bolts from the front truck, under my front foot were bit too hard, and gave an uneasy feel during the ride. Like when you have a tiny rock in your shoe and the damn thing doesn’t won’t to get out. But I’ll try out different stances before giving the final verdict on this.

Apart from this little thing, it really is a fun little board, and I’m happy that I got it. I’ll be mostly using it for quick rounds around the city, and goofing around at the local skate park. Sticking with the longboard for longer rides, cruises, though.

Tags: about, banana, banana board, longboard, random.
Categories: Blablabla, Free time.

Need help on your PHP projects? Let's talk!

2012 - 'twas a fine year!

by Robert Basic on January 01, 2013.
Heads-up! You're reading an old post and the information in it is quite probably outdated.

2012 was a real fine year, filled with travel, friends, work, longboards, books. A couple of beers found their way in my belly, too. The best part is that I honestly can’t remember that a single bad thing happened this year. Most likely because it didn’t. Pure awesomeness.

Can’t really remember what I did from January till March, besides working. Odd. I should probably blog more often (HA!) on the things that happen. Oh well.

April was the month that kicked off the travels for this year. I spent a weekend in Budapest, doing nothing just roaming around the city. I stayed in a 5 star hotel in downtown. Never stayed in a fancy place like that before, and I wanted to try it out. Definitely not my thing, and did get the strange looks from the employees there as I stubmled in in a leather jacket and a military backpack on my back. I probably looked like a hobo. But I had fun and that’s what counts.

May was the month of PHPDay and travelling to Verona with Vranac. I just realised I didn’t blog about it. Well, fuck. We met there some crazy awesome developer dudes from Croatia *waves hi to Luka , Miro and Ivan *. Got to meet Jouzas and Stefan, and be mentored by Patrick, Derick and Rasmus on creating PHP extensions. I even got to get a “You are correct” from Rasmus for a sentence I managed to mutter out. I was giggling like a girl for days after that.

On our way back to Novi Sad, we stopped in Ljubljana to grab lunch with Masa and Swizec. First time meeting them in person, lovely people.

June was a month of work and celebrating one year of Hex!

July was the month of Exit festival in Novi Sad, where I played a host for Swizec, hopefully a good one, as he was staying over at my place. Couple days after the festival, we popped in his car, bought some gas, and of we were to Ljubljana. I stayed there for a couple of days, completely touristy visit, with me roaming around this gorgeous town with a proper paper map in my hands. Bought my first longboard there and found myself in love with a non-geek hobby for the first time in my life. I’d never thought I’ll say this, but sports are fun! Longboarding, at least.

August was spent with me longboarding around Novi Sad. Work and beers were also characteristic for that month.

September started with me going to a mountainboarding event, as a spectator only. I ended up going down this hill. And falling. Twice. I also made a total of over a hundred kilometers longboarding.

In October Jouzas was in Novi Sad for a couple of days. Vranac and I did our best to make his stay enjoyable. Hope we succeeded at that. I ended up shaving my head, whilst having a severe hangover, and making a mohawk. Fun times!

November was the month of Webcamp Zagreb and us travelling to, obviously, Zagreb. And again, I didn’t blog about it. Miro will kill me next time he sees me. The conference was a total success, very well done, even though it was planned and organized in under two months! Eagerly awaiting next year’s event.

After Zagreb I hopped over to Ljubljana (by now you must have realised I’m sorta-kinda in love with that town), where I stayed for a week and worked from the local hackerspace Hekovnik. The rainy weather sucked a bit, and I was hoping I’d get to longboard more, but the one session on Trzin with Swizec was quite enjoyable. I even managed to do my first mini Coleman slide. Hooray!

December was nothing special, just your regular, hard working (or hardly working?) month.

A couple of things I’m not satisfied from the past year is that I didn’t contribute to OSS much and didn’t really learn new things. I also read lot less books than I thought I did - merely some ten-ish books. I’ll just blame “A Dance With Dragons” for that as it took me two or three months to finish it.

As for 2013, there’s no reason really for it to be any less awesomer than 2012. Need to fix and fine tune a couple of things about me, get rid of some bad habits, continue fixing some mistakes from the past and try to be even better to my fellow humans.

Happy New Year and Happy Hackin’!

Tags: about, hex, life, longboard, random, travel.
Categories: Blablabla, Free time.

Need help on your PHP projects? Let's talk!