I am DVDKOURIL. This is my blog.

Things slowed down

Last week was veeeery slow. At least to me it seemed. I think it’s because of the contrast to what was happening the week before.

Many people at work are having vacations and I didn’t realize how much it influences the general working morale. I thought I’m pretty self-motivated. Me and Gabi (well mostly Gabi) are looking at vacations too but it’s hard to decide. Last year was the first time I went to a holiday at sea (we went to Kefalonia) and we had the best time ever. I’m afraid that nothing can live up to that. But we want to go in September anyway so I guess we have some time to pick something.

Usually when I have some downtime (nothing huge to worry about), I have a bad habit of thinking and re-evaluating things. Most of the time it’s work-related. Side projects work I mean.

About my side-projecting: I need to have a mission. I need to be learning new stuff. I’ve been like this for a very long time. It gives me a sense of working towards something, sense of getting somewhere. I don’t think it has paid of yet (and maybe if I applied myself that much into the main thing that I’m doing it would be better) but I need to have this kind of distraction. It keeps me excited about programming.

I have some projects that I’m trying to finish. I have things that I’ve committed to learning. But as it happens sometimes, I started to think if I should maybe stop doing this and start learning something different. Javascript in this case.

I get the benefits and why it’s so popular right now. It’s very easy to make something in it. It’s nice that it work in browser. But I just don’t like Javascript. I’m used to “traditional” programming languages like C++. It might be that I’m becoming the stubborn programmer who’s against doing things the new way.

I believe that there are many applications where you just can’t and shouldn’t use JS (and I believe that those are the kind of projects I’m aiming to do). But because it’s so easy to use and show, you end up seeing JavaScript projects everywhere, and it makes you feel like you’re missing out on something if you’re not on this hype wave too. And I don’t think anybody likes to feel that way.

But I don’t want to be complaining here. It’s just something that has been on my mind.

Getting ready for a busy and exciting week!

Gabi was gone almost this whole week, she’s on a yacht sailing trip in Croatia with her colleagues.

I’m getting more and more excited about next week. Two things are going to happen:

  • we (the VisGroup, the group where I work) are going to Balaton in Hungary for a “closed meeting” which is a gathering of our group and some guests where we talk about stuff. And then,
  • we (me and Gabi) are going to Pohoda festival in Trencin, Slovakia.

I will be leaving on Thursday and going to Slovakia straight from Hungary. I’m counting on the trip itself to be an adventure.

I’m incredibly hyped up for Pohoda. The biggest headliner is alt-j, but I’m looking forward to the festival atmosphere in general. I’ve been there in 2014 I think and I loved it. I hope we’ll have similarly good time this year.

I’ve seen two things that I very much liked and they had some impact on me:

  1. a documentary about 3D printing and the business around it: Print the Legend.
  2. a GDC talk about the development of a game called Thumper.

The 3D printing documentary was interesting mainly because I don’t really know anything about the technology and the business of it. So it was interesting to see how it all got to be.

The Thumper talk was game-changing for me. I really love that guy’s calm approach to all of it. He’s not complaining how hard it was. He’s just explaining the journey and talking about how they got through. I like the simple approach. Just put something on the screen. And iterate. I like the idea of learning as you go but lot of the time I get stuck and I think that I’ve arrived at an impossible obstacle. But seeing them make this game made me think about the way I approach stuff and be more of a “deliver-it” programmer. I want to deliver things, not to do them right and overengineer it.

That’s it for today, see you next Sunday.

The value of sheltering yourself

I think I need to cut myself off from a certain type of social media. Maybe it’s going to be enough to just do it mentally…let me explain.

I’ve got projects to do. Personal, side projects. Things that I’ve come up with to learn stuff. They are not the best ideas in the world. They will not make a hole in a world. But it’s still important to finish them. I don’t want to be a quitter. I want to be a doer. And you can’t be a doer without finishing what you’ve started.

I have a bad habit of going on twitter and looking at the stuff other people make. Sometimes it’s good to get inspired like that. But most of the time it just makes you look at what you’re working on and get bored of it. Maybe you’ve had an idea that you liked at the beginning but, now that you’ve spent some time on it, it’s not so new/exciting/easy-to-do.

Or in my case, I’m worried that I’m learning the wrong thing. The way technology world works is that it’s constantly changing, programming languages are going in and out of style. Everybody makes you feel that you’re doing it wrong if you’re not using the same programming language, framework, or paradigm they are using. It makes sense—everybody wants to be on the wave of what’s popular.

It makes sense to just ignore that. There’s no way of predicting future. You just need to get your head down and finish your things. You will learn something even if you work on the wrong project, using the wrong stuff. The important thing is that you’ll learn something. And finish something.

This is probably something very obvious to a lot of people but I sometimes need this kind of talking-to even if it’s from myself. I’d love to hear you opinion on this, reach out to me either on email or @dvdkouril.

I WILL BUILD THIS: Tool To Help Me Manage Projects

I’ve started this blog to document my progress. I don’t want to bullshit people and make myself look like somebody who already knows everything. I don’t aspire to be somebody who people would praise and think: “wow, I will never be as good as this guy”. I want to show that I know nothing and the things that I might accomplish won’t just happen by themselves. They’ll take time and happen because I’ll make them happen.

So I’m starting this project that I’ve had in mind for a few months already. I’m calling it Tool To Help Me Manage Projects (TTHMMP for short). I probably know what you’re thinking. “Wow, another project management tool.” And yeah, I’m not going to tell you that this is something that everybody will be using in 5 years. This is a toy project for me to learn stuff. It will be similar to most of project managers but I hope to make it a little bit customized for myself. Let’s get to the description.

I will be implementing this in Python using PyQt library. Why these technologies? Several reasons. I want to learn Python because I keep bumping into it in cool projects on the internet and job ads. Also, I’ve been programming for Maya last year (in C++) and I’ve seen that most of creative software (Maya, C4D, Blender, …) provides Python API. Another motivation for me to learn to use Python properly was this one time when I could with my limited knowledge of it help my girlfriend with automation of one time consuming task. It took me like half an hour to write this script that saved her maybe 6 hours of work.

I want to learn Qt because I’ve heard that it’s a solid framework and because I think I could utilize this skill in the future

What TTHMMP is?

TTHMMP is going to be a tool which will provide an overview of all my active, finished, and not yet started projects. Sometimes I have a hard time with keeping track of what I’m actually working on and what I want to accomplish. The problem, in my opinion, is that I don’t see what projects I’ve started and in what shape they are, what are the next steps. This way it’s hard to prioritize and work on what matters.

TTHMMP is primary going to show my active (running) projects. I want to keep 3 or 4 projects at max in this state of being active. Each project will show a starting date, estimated (or hard defined) end date. Next, there will be a list of tasks which will most importantly show the next step that I need to take, or the next problem that I need to solve. This TODO list could be outsourced by just linking to a Trello board or something.

I would like to implement some kind of motivational tracking visualizations. For example, I love the boxes on github which show commit history of a user. This was super motivating for me at times when I was contributing to a project hosted on github. I want something like that in TTHMMP.

In the future I think it would be nice to show finished projects as well. I think it should be done in a motivating way too. Finished projects are kinda like your hall of fame. That’s the stuff that you’ve done! You accomplished it.

I have a stretch goal feature in mind. I have a vision that there will be a button which will automatically “configure” your current workspace on your computer. Let’s say that I am a video editor and I have a project where I edit something. Usually on my computer I have many applications running at the same time, may tabs in the browser. What I want is to close all these distracting things and open up only the necessary applications that I need for work. Hell…I could even configure it to disable internet connection. All this should happen by clicking one button at the project overview. The button could be called “LET’S GET SHIT DONE”. Or something like that. Or it could change dynamically!

Minimal Viable Product (MVP)

I think you know what MVP in this context means. I believe many of my previous attempts to make stuff failed because I didn’t specify precisely what the version 1.0 is. The point is to learn from that mistake this time.

In version 1.0 of TTHMMP you should be able to:

  • add a new project,
  • switch between the states of the project: active, finished, not started,
  • show a list of active, finished, and not yet started projects
  • show a detail view with basic data about the project

That’s it. When this is done, I will call it a version 1.0.

I don’t know if I will update with stuff before the v1.0 version is done because, frankly, it doesn’t seem that interesting. It just needs to be done!