pondělí 25. prosince 2017

Running Yousician on Fedora 27

Spending beautiful Christmas time at home town with my family kinda "forced" me to grab sister's acoustic guitar instead of my electric Ibanez -- that is resting in my apartment and waiting for me to get back to it together with 2 more pounds after one week long unstoppable overeating.

Alright, enough of boring context. If you want to successfully run Yousician app on your Fedora 27 you will need to do this after downloading archive from Yousician page and file extraction:

$ sudo yum install libcxx.x86_64

Hopefully works for you :)
Happy jamming!

středa 18. května 2016

Do managers deliver nothing or everything?

Firstly, you may ask, what kind of a topic is this and what it does at my blog... like: "What? Does he really want to write about managers? About work? What the...?"

Let me explain. Last summer (2015) I switched to managerial position at work. By managerial, in my particular case, I mean true people management. Important to distinguish because we also have technical team leaders and sometimes a manager is also a team leader and is responsible both for people and for the product. I'm coming from Quality Engineering world and I am so lucky that I have an awesome technical team leader by my side so I can fully focus on people and don't need to split my effort.

So, approximately 10 months of "experience" now (lol!) -- I'd love to deliver 15 years of true managerial experience condensed here but you will need to wait 14 years for me to be able to do that!!

After these moths I started to feel I finally have a topic to write about, something I can deliver and share with you. It's my personal experience, it might be silly, it might be obvious, it might be... you know what? I don't care what it might be and I will just jot it down.

Do managers deliver nothing or everything?

I've been doing QE work for 3,5 years. Before that I was working 2 years part time as a Java developer for a very small company. Before that I was playing with code, trying to program simple games, learn new languages, etc. for let's say at least 4 years. It means 9!! years of "full" delivery!

I was delivering tangible results. The code. The working prototypes. The small game. I was able to see results of my work IMMEDIATELY! This is so awesome at programming and it still fascinates me. You sit down, type the code, compile, run and you can actually SEE! what you did, what you created and you can see it just NOW!

But these days it's a completely different story and to be honest I wasn't completely comfortable with that switch and I am still not 100% comfortable with delivering intangible results. It's getting better and better every day, especially while you are hearing any kind of positive feedback and when you are assured that your steps and moves were right and, during the time, those changes led to general improvements.

This is my REWARD now! You know, humans, as dopamine-driven creatures would love to see results immediately every time. I personally believe that as a manager you need to go out of your comfort zone and simply accept the fact that actions you are taking at THIS MOMENT will cause impact in the near or far FUTURE. If you can't deal with that, don't do people management. It will harm the people around, the team and most importantly, you.

My day is different and my feelings at the end of a day are completely different. For almost a decade a was falling asleep with a warm feeling that I delivered something today. New code, new test written, new function implemented, something verified, checked, delivered presentation on technical stuff, etc. It's so cool when you are commuting back home after 5 added customer-related tests into the product test suite. Good job [me], you say while looking out of a bus/car window.

Now -- it's another story :) Meetings, ton of meetings, meetings with people, meetings with teams, projects, face-to-face, one-on-one and all these buzzwords. But ask yourself -- what did I do today? What did I deliver? Was that nothing? Or everything?

Can you even deliver something while talking to your colleagues? What if the talking (OMG and LISTENING!! as well) itself is now your delivery? How can you capture that? How can you feel rewarded? Can you? Did you deliver something? Something real?

Time helps! I love time! Time also scares me while I am getting older and older and see how fast time goes around. But time helps me here. Time is here to show me I did something good and I did something wrong and gives me the opportunity to learn from that. After some time though, naturally :)

I believe, as a manager, you need to be looking at your actions and at your deliveries retrospectively. This is so tough when you are starting! Because you don't have any reference points so far and you need to be very patient, unfortunately. If I ever have a new manager by my side I will explain him this fact first to mitigate starting frustration that might come and strike.

Remember that your actions will take time to be reflected and you will be REWARDED LATER! Wait and continue delivering "SEEDS"! Same as a tree or beans. Beans are even faster :) You plant it and you need to wait to see results and sweet fruit. In the end it's so simple. It's just unnatural because of "no-dopamine-now" effect :)

So, to close it somehow, do managers deliver nothing or everything?  


At this particular moment it might seem they deliver nothing but in a long run they can deliver a lot. Empowering and helping people around is so powerful and that's why I chose this path. It feels like I go through a dense forest with many trees where I can't see anything... and after some time there are days where I leave that forest and suddenly standing at the top of the mountain! Finally.

pondělí 2. května 2016

Urge to commit

Apparently, I've been looking for something worth writing about for more than a year. Finally, got something that hit my mind last weekend and I can't stop thinking about that particular feeling.

The feeling I'm talking about is: URGE TO COMMIT

I don't even know why I'm writing this and it's probably just because I think I've found something new, at least within myself and within my mind. Something that's been hidden to me... until now.

What comes now is rather raw recording of my mind stream:

  • The whole thing I'm writing about is simply open source and open source contributions
  • In the past I didn't get and wasn't able to understand the motivation of people coding open source "just for fun", after work, in their free time
  • Now I know it's not "just for fun", at least not for me
  • But I wouldn't definitely do it if it's not fun :)
  • I want to stay educated, to stay with technology trends
  • Gain some plus points and kind of "GitHub fame" and reputation
  • I'm still so fascinated by this century, by computers, by the internet, by all technologies around
  • I'm familiar with only a ridiculously tiny fraction of IT knowledge (NoSQL stores, caching and related topics) so I want to do something with it and focus on it

  • Now, when I have my own project, I feel strong internal motivation 
    • to continue with anything that I've started 
    • to deliver something 
    • to contribute somehow to the whole world and make the world a bit better -- piece by piece, step by step, inch by inch 
    • to inspire others 
    • to give an opportunity also for someone else who is interested to contribute and to learn something new
    • simply put -- TO PAY BACK
      • There has been many people helping me with my studies, programming, bachelor/diploma thesis, pushing me further, etc.
      • I use open source every day and naturally, I want to create something that can be used by others
    • to CREATE and not only consume (PC games, movies,...), create something that will stay here even when I'm not here any more 
    • to help others (users, developers,...) with a tooling we are creating once it will be done and fully functional

  • Relax
    • I wouldn't do this if it's too demanding and not fun
    • 10 months ago (June 2015) I switched to managerial position at work but I have to admit I still love coding and it still fascinates me
    • I relax my mind because I don't need to do any context switching and I still love to be dived into one problem and solve it
    • I love how rewarding coding is -- code, run, fail, fix, run, see results! You can see results of your work immediately and it's such an awesome feeling! (Dopamine shots) 

There is nothing more to be added here. I will update those lines once I see more internal drivers or come up with more ideas for sharing. You will see more technical stuff about our project soon here at my blog but it wouldn't be here without all these feelings I've written above.

úterý 13. ledna 2015

Do I suffer or benefit from polyphasic experiments now?

Hi readers!

It's been a while I didn't write a word. Not because I don't like you... I simply like League of Legends a bit more than you :) Just kiddin'.

The topic for today is again: polyphasic sleep. I want to share my very recent day-to-day experience and try to think loudly whether this is a benefit or a serious drawback.

So what the hell is happening? Actually nothing except the fact that I am not able to sleep more than 4,5 hours in one solid block.

Yes, every single night I regularly wake up after 4,5 hours of a sleep. For example when I fall asleep around midnight today you can very probably see me playing LoL or writing posts like this around 4:40 AM tomorrow early morning.

I can't control it. I open my eyes around 4:30, look at my mobile phone, realize it's 4:30 AM for real, sit on the edge of my bed, slowly stand up and go to the bathroom to wash my face. Turn on my PC and quickly decide what I will be doing.

1) Programming -- I am able to be very productive for next 2,5 hours.

2) League of Legends -- I am able to succeed in more matches than usually because I stand against players who has been playing for the whole evening and night and they are tired. I am very precise during my game play, make less mistakes, decide faster -- win more games. That's something which ensures me that e-sport is a real thing.

Wasting of a time bro! You say? Uhm, not really. I relax the same way how you watch TV but this is much more active way of relaxation and gaming is improving cognitive brain functions. Good for me, not for you, passive TV watchers :)

Then I usually go back to bed and sleep another block. 1,5 - 3 hours. Then I wake up, do my morning routines and go to work.

I am not tired, I am fresh, full of energy, I have very good mood.

What is the drawback then? Why am I writing about this?

Later during the day this thing will catch you. Tiredness usually strikes hard around 2 PM (after lunch + circadian rhythm). That's the time you need to do your 20 minutes long power nap which is not always possible and you end up struggling with your own brain and body that desperately need their power nap.

Also, sometimes, I am tired after long day, after party, after whole day long volleyball tournament and I want to sleep at least 8 hours. But I can't. This is crazy and you feel a bit weird. You have to do something for that damn 1,5 hour and then fall asleep again. Or try to...

Taking caffeine in any form (even a green tea) after 6 PM is NO-GO for me. It totally destroys my rhythms and I am unusable next day.

I still don't know whether this is a problem, or not. Still investigating. Overall I feel that I have more free time. At least +2 hours approximately every day and I am still productive at work and at a time I need to.

Will see in the future, I will keep you in a loop.


středa 23. července 2014

How to overcome tiredness which blocks your training

Hello again :)

I was thinking about publishing short post highlighting one life-hack and I can't come up with anything else than my very recent experience around physical training activities connected to regular working day.

(Before you start reading this post, note that the key point is at the very end.)

Things were easier when I was student and/or working part time. You can adjust your schedule pretty dynamically with respect to your body needs and except examination period there is (generally) pretty much "free time" -- so you can sleep well = regenerate well and you also don't perform too much psychical work at once so you don't feel such "drained".

Almost every single day is the same. After more than 9 hours at work (lunch, commuting included) you feel like used sponge thrown in a thrash can. Literally. Exhausted -- that's the right word.

And there is a training ahead of you. It's always better when you already "signed" your training attendance. It usually happens when you play team sport and you said -- yes I will attend. So you will attend, case closed.

But! What if you have planned just individual training session? Swimming or running. Who will force you to really do it? No one. That's true, no one.

Now you will have to fight yourself. Brace yourself -- excuses are coming!

The problem is that you are tired from work and the best thing you want to do is fall on your bed and sleep.

And this is how it usually ends. You arrive at home, take a snack (or dinner) and you feel tired and go sleep. There are SO MANY BAD things here!! Let me elaborate.

1) It is around 5 or 6 PM now and that's your body's performance peak time. Ideal time for training and you are wasting it.

2) You cook and eat food (maybe not very healthy food) and now you have a food coma, again. This will kill you together with work tiredness.

3) As you fall asleep, without setting up your alarm clock for 20 minutes nap, you will probably woke up in your deep sleeping phase (hello Murphy's law). There will be some kind of interruption, trust me... and now, you feel even worse than before it. 

4) Any training is not possible now and you will waste your time in front of a computer, again.

So, as a conclusion -- I will not go for a training session. Damn!

How to do it better? 

1) If it is possible eat light snack in your work 1 hour before you are leaving. You will be ready for training in sense of food consumption and stomach fullness/emptiness.

2) If you are really tired, take a nap before your training. It works like a charm somewhere around 5 PM. Make sure you set up your alarm clock properly for 20 minutes.


Visualize and imagine your feeling after your last training when you were exhausted before it. 

How did you feel after that? YES! Full of energy, satisfied, strong again, full of endorphins, positive, unstoppable... now you know this is worth and rewarding enough to take it. Now you have very strong logical argument which should help you fight your laziness/tiredness.

And that's it. When everything seems to play against you, just recall that brilliant feeling you have after training which shouldn't be done, but it was. Fortunately.

Tomas :) 

úterý 22. července 2014

It looks like a ruined day, what now?

Hi readers,
after a while I am finally back and want to quickly share some of my very recent thoughts.

Let's imagine -- it's 2 AM "yesterday" and you are falling asleep, thinking about ruined "tomorrow". You know that you need something around 8 hours of uninterrupted sleep, you know that you will have problems to get up soon, you somehow know that your "tomorrow" will be completely sucks, because you will be late at work, you will spend the whole day there and you will be sleepy as hell.

You are maybe a little bit drunk, you maybe lost a few League of Legends games, it's maybe too hot in your room so you can't sleep, whatever...

Now, you are lying on your bed and thinking about ruined "tomorrow", full of negative emotions, anger, dissatisfaction -- you know that feel, bro ;)

Here is my medicine! It tastes awfully but it works.

1) Set up your alarm clock around 6:30 AM

Am I mad? Maybe. But you will most probably hit end of your REM sleeping phase and this is 100 times better than be "interrupted" somewhere in the middle of your deep sleeping phase. Note that I suppose you lying in a bed at 2 AM (and you add 4,5 hours).

2) Exercise -- NOW!

Am I totally mad? How can you exercise after 4,5 hours of sleep and at 6:30 AM morning? You are asking: "WTF dude?" Shut up, do it... swim, run, joga, whatever works for you.

3) Breakfast

You think you can omit it? Poor you. Eat some rich and complex carbohydrates. You will need it more than anything else today.

4) Do the most unpleasant work immediately

Actually this shouldn't be a big problem now because you are warmed up after your exercise and you had delicious breakfast. What a beautiful day. Sure, you don't want to make it less awesome and that's exactly why you need to complete your work instead of reading emails, handling your calendar etc. This is the most rewarding part of your day and you need to make sure you will do it ASAP.

5) Take a nap 

I fully understand that this is not possible for everyone to take a nap after lunch. If you are lucky and you can take it, do it. Don't be sleepy, go nap. Alarm clock for 20 minutes and that's it. It is always better to have 20-minutes long nap instead of 3 hours of mindless staring at your PC display and doing nothing productive.

Substitution: Take a coffee, 2 cups of green tea, matte...

Extra-powerful-unstoppable man version: drink your green tea just before your nap. Caffeine needs about 20 - 30 minutes in order to start working for your body. That's a time you will be napping. Can you see that trick? :P

6) Enjoy rest of your brilliant day

Let's sum it up. You got up pretty early. You did your exercise. You had a brilliant breakfast. You did a very great portion of your work and you are proud of yourself. You took a nap (coffee) in order to be able to work even more! Now you are enjoying your day.

This time, you will go sleep around 10 PM to help your body catch up again. No more party, no more PC gaming, no more movies. Sleep, sleep, sleep as much as you can. It will pay in the end.


(I wrote this post using DO-IT-NOW-AND-DON'T-BE-PERFECT method)

úterý 18. února 2014

Introducing Infinispan OData server: Remote JSON documents querying

Dear Infinispan community,
We are proud to announce the very first available version of Infinispan OData server.

This brand new standalone HTTP server is based on odata4j framework (its core is running on OData Jersey) and using Infinispan as an underlying JSON document store.

Clients are allowed to use OData standard query language and OData service operations for communication with the server, storing and obtaining requested JSON documents.

Infinispan OData server understands an internal structure of JSON document, and therefore, clients can query the cache and ask for a collection of results in dependence on specified expression operators.

What's Open Data Protocol (OData)?


OData frees stored information from current data silos and exposes the data for variety of possible consumers. To achieve that, OData utilizes common web technologies: HTTP, REST, JSON and Atom Publishing Protocol.

From clients' point of view, databases offer usually diverse APIs. OData focuses its effort on a creation of an uniform access pattern for various sources of data, to unlock them and prepare for broad consummation.

The picture is used from OData introduction video on http://www.odata.org/.

Any HTTP client can access the data or there is also plenty of consumers present in OData ecosystem. And we just added another producer into that ecosystem -- Infinispan OData server which exposes JSON documents stored in caches to various number of clients using industrial standard and platform independent way.

More information about OData: http://www.odata.org/

Our challenge: 


Generally, NoSQL solutions lack overall portability as they are different one from each other and almost each database of this kind provide an unique interface for accessing stored data.

Infinispan is not an exception and its library mode usage is mainly focused on Java clients. However, Infinispan did a step further to solve this problem by introducing its server modules. A few implementations of an Infinispan Hot Rod client were developed to support a few different programming languages. There is also an Infinispan REST server which provides an HTTP access to key-value store capabilities. The problem is that users are not able to effectively use Infinispan for operating with documents in commonly adopted JSON format.

Sure thing that Infinispan REST server allows users to store data in JSON format. The only problem is that our REST server supports only key-value access approach as it does not understand internal structure of JSON documents. Therefore, when you have for example cars in your cache, you can access them through their unique keys only. One key -- one value, classic.
But in some cases it could be beneficial to be able to access your data using specific filters and possibly obtain even a collection of results meeting specified criteria.

This is the main advantage which Infinispan OData server offers. As you can see in the picture, OData server understands internal structure of JSON documents and (let's talk in pseudo language for a while) you can obtain "all red cars" without any problems.

And that's it!



You might be interested how you can interact with the server. Recently, it is enough to use any HTTP client, REST methodology and follow OData service operations exposed in server metadata document which describes server interface capabilities and is accessible at:


Putting data into the cache:

HTTP POST request at:

with JSON document in the body will do the trick. For obtaining the data, you have two options:

Key-value approach:

HTTP GET request at:

Query approach:

HTTP GET request at:
name eq 'Morpheus' and lastname eq 'Matrix'

Full interface is introduced in project README file.



We were able to achieve desired functionality using the @FieldBridge from Hibernate search which helps us to add fields from JSON objects into the Apache Lucene Document and get it indexed. All with help of odata4j framework (http://odata4j.org/).

For now, code is located at: https://github.com/tsykora/infinispan-odata-server/ -- please follow README where you can find information about building, dependencies, server interface and practical usage examples.

Infinispan OData server is the main deliverable of the tsykora's diploma thesis -- for further details accessible at: https://is.muni.cz/auth/th/325144/fi_m/ diploma_thesis.pdf file with the text part and tsykora_attachment.zip archive which contains essential libraries and already built server itself (version 1.0). We also benchmarked this new server against already existing Infinispan servers (Hot Rod, Memcached, and mainly REST in 4-node clustered environment) using Infinispan cakery tool which is based on PerfCake framework.

We managed to significantly improve performance of odata4j framework libraries for our needs but there is still much to investigate there. Infinispan OData server project is very young (started in June 2013) and was developed under respective time constraints.

As we have mentioned, this small Infinispan sub-project is in the early stage and we are gathering feedback and feature requests. Feel free to open new issue in GitHub project repository. Now we plan to focus on more performance improvements, code polishing and addition of more cool features, support for more OData operators and embedded JSON documents, lists, number fields etc. 

Stay tuned!