Robert Basic's blog

Posts tagged 'about'

Everybody knows that

by Robert Basic on May 08, 2017.

Back in December last year, Matthew Turland published a blog post asking “Why aren’t you speaking?

It made me think.

What I realised is that I always havehad this feeling that everybody already knows what I know.

Is that part of an impostor syndrome?

I don’t know. I really don’t feel like an impostor. I know what I know, I’m perfectly fine accepting that I don’t know everything… but then there’s this feeling that everybody else knows what I know. It’s a strange feeling, I’m not even sure if I can explain it properly.

This also led me to realise why I don’t blog more often. I like blogging. I like writing. I don’t consider myself being a good writer, but with English being my third language, mostly self-taught, I think I do quite alright.

It’s the same thing as with me not speaking at a conference or a user group — everybody knows that.

After doing some more thinking on this subject, there’s only one logical result — it is not possible for everyone to know what I already know. It’s just not possible.

I have learned, and still am learning from other people, by either reading their blogs, or hearing them talk, or looking at their answers on StackOverflow, or digging through their code on GitHub… Surely there are others out there that can learn a thing or two from me.

I also “agreed” with myself that not every blog post needs to be an essay, that it’s OK to publish a couple of short paragraphs, quickly writing down the things going around in my mind.

With those thoughts, with that kind of a mindset, I set out to start blogging again. Since December, since Matthew’s post, I blogged 20 times. I don’t think I have written so many posts in the past 4 years.

Oh, and I gave a talk at two different occasions as well.

Thanks Matthew.

Tags: about, blog, blogging.
Categories: Blablabla.

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.

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.

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.

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.