Skip to main content

Maturing, relocation, getting to the point

So it's been a long time I've wrote something for the blog.
Since the last post few things have changed. For example - I've moved in a foreign country. I went into Ukraine which is not a big deal you would say, but for me it's a pretty significant change in my life.

I've worked a two years in solo on a video related projects, one of which was related to trans-coding video on fly using a gstreamer and the other one was about storing and providing access to a video content by special tags, this one was a nightmare.

The gstreamer is a neat open source solution in video processing libraries. The people designed it are crazy ones - such a over-complicated implementation to achieve flexibility and effectiveness in processing video on various platforms and hardware. The most important about this library for me was it's non-existing support. Or should I say community driven support? I don't know even for now. At the time I've had a couple questions, so basically I was forced to read it's source code. That led me into even more frustration. I've had a library on my hands and a bunch of plugins (muxers, demuxers, codecs, sinks, sources etc) that I couldn't work with because of lack of documentation on it or them being outdated.

That's how get a taste of a open source maintained project, it's community and difficulties in getting job done. There was a few days I've spent completely in IRC chat related to gstreamer. The people in those chats are really nice lads, it's like the best professionals in the field which you can reach without paying crazy amount of money to be able to ask a question about how to link a demuxer with a video and a audio decoders. It takes time but that's really cool opportunity to learn a new thing or two from guys who develops a piece of software you work with.

So, more about present. I've got myself relocated into Ukraine to be able to work with a team of highly educated C++ pros on a business application that earns big bucks. It's interesting how small companies differs from big companies with names, but if it goes down to people the key is the same - work hard and be proactive in any situation. Doing so will help a one on the way to a top tier dogs out there. Moving slowly and steadily, step by step, breaking down complex problems into small ones.

Be cool and keep on achieving your goals.

Popular posts from this blog

Tuples: are they useful?

In some languages there is such a thing as tuple which makes real to write such code (this time it's in python):

def f(x):
 # do stuff return (True, modified_string)

success, modified_string = f(something) 
C++ hadn't such feature until C++11. That was one of the reasons to pass variable as referenced argument, which ended up creating huge code bases that have unused arguments in it's functions. That happened in order to save revers compatibility and allow clients to use stable interfaces to access libraries without checking the version of dynamically attached library in order to use correct functions.

Templates and how to fold them

Variadic templates appeared in C++11 to cover such cases when you would have a template functions that could have a numerous members of different types. Doesn't it remind you of variadic functions that uses va_start, va_arg, va_end and so others? Cause it should be.