Of course souls games are casual!

Souls casual

Somebody has shared this image with me as supposedly funny. But I completely agree. I have very little time to play video games. And I practically only play Souls games. Why? Because you can do a lot in 15 minutes. You can approach a boss at least three times, and even defeat him. You can complete entire stage and get all the loot. You can farm.

I’ve bought Red Dead Redemption 2 recently and oh boy. This game isn’t casual at all. It’s loading forever, on my PS5! Cut scenes last for ages and you usually don’t want to skip them as this game is all about cut scenes, as they’re driving the story and set the mood. You can’t save game in the middle of the mission. When you have kids and your wife calls you to do some chores it’s extremely annoying that when you’ll come back you need to do the same quest again just because you had no time to deliver the loot to some guy. And the horse rides. Of course, it’s beautiful and peaceful, and everything. But I have no time for it. Sure, it’s easy, especially comparing to Souls, but that’s another problem. I got bored quickly. So, it sits there waiting for better times. My retirement maybe? And I’m playing Sekiro now.

When overwhelmed stream it

Recently we’ve had some huge Translation Memory to cleanup. It was built by copying segments from two other TMs, so it was a mess. It had over million segments and we needed to shrink it. So the obvious thing to do was to get rid of duplicates. Unfortunately our CAT tool isn’t very good at it, or rather very fast. But we can export/import TM in TMX format which is basically an XML. And you can do anything with an XML.

Code review

When I want to contribute to some repository on GitHub I always check Issues section first. And this is how I’ve started with the repo I’ll discuss in this post. I’ve found an improvement request and wanted to implement it. First I’ve learnt how to do that, as I’ve not done it before. And then I’ve started to analyse the code in order to add this new feature, as I’ve only glanced at it before. But the code was really bad. I’ll not mention the repo name here, as my intention isn’t to diss the author. And I’ll try to “anonymise” the code as far as I can.

New year, new projects

After Advent of Code has ended I’ve started looking for another challenge and found weirdtext. It’s a recruitment test, but as I’ve found it quite interesting I’ve decided to do it and have coded it in Go.

To make initial version of encoder and decoder was quite easy, but then I’ve started to add other cases to my tests and made some improvements, and also fixed some bugs. I’m not big fan of TDD, but I’m fanboy of unit tests. They allow me to test edge cases and keep me confident while improving my code that I don’t break anything. I may not be very good at writing tests, yet, but I’m always trying to improve.

Advent of Code

As I’m lone, self-taught  “programmer” I miss challenges and cooperation in my life. That’s why I’ve welcomed Advent of Code. It allowed me to check my skills, learn new things and talk about code with other people. I’ve scored 43 out of 49 possible stars, so not a big success. But as I’ve played against myself I consider it a win as I’ve thought I wouldn’t get past day 15 or something. I was also convinced that it’s beneficial to put code from AoC on public display, so here you go, if you have nothing better to do, go and take look.

Coding dojo

Code golf results

Some time ago I’ve tried my skills in coding golf competition, and had a second place, at least for a while. I’ve originally written it in JavaScript as this language is fresher in my mind than Python. But then I’ve rewritten it in Python because I’ve got stucked. Even though it’s been a while, I’ve coded more lines in Python and read more about it, so I was able to find the bug and proceed.

Better late than never (A Curious Moon)

I keep saying that you never know when some knowledge would be useful. So there’s no such thing as useless knowledge. You’ve just not found usage for it yet. Some time ago I was praising The Imposter’s Handbook. I’ve liked it so much that I’ve bought and started reading A Curious Moon of the same author. I was doing some SQL at the time, but it wasn’t my major task. And I knew nothing about PostgreSQL, apart that it existed. But I’ve read good chunk of this book (sadly I’ve never finished it, but I will, someday, I promise) and decided that it’s cool, but that I probably won’t use this knowledge. My company is using MS SQL and won’t switch to PostgreSQL in any foreseeable future, or ever.

Choose your file format and encoding wisely

I’m working with memoQ (CAT tool) for more than four years now. It’s quite good comparing to other localisation tools. Which isn’t maybe such a great achievement as there aren’t too many. But anyway, it’s decent.

But memoQ team has made some weird design decisions early on. The most annoying one is the choice of encoding. Entire world uses UTF-8 which is great and everything works fine with it. However memoQ decided they’ll use UTF-16LE and it’s a nightmare. When you’re exporting Translation Memory to TMX file and one of the languages isn’t Asian or Middle East kind then the file will be twice as big as it would be if UTF-8 has been used. I know, because I’ve had to develop a solution to convert our exports to UTF-8 to preserve some storage space and ease the transfer.

Economist is not economical choice

We have this publicist in Poland, Daniel Passent, who’s one of the greatest to me. He once said that the Economist is the greatest newspaper in the world. And I agree with him. I’ve tried many, but there’s no single one which I would enjoy as much. There’s at least one which is close, but let me tell you something else first.

I’ve been subscriber to Economist many times, usually it was digital subscription. Because it’s not cheap and I have limited time I was cancelling and then coming back. Recently I’ve ordered their trial print + digital subscription for 20 Euro per first 3 months, and then 86 each quarter. I’ve started this trial 90% sure I’ll keep my subscription.

Job security and automation

When you’ve created some solution which is essential to the company you work for, it’s tempting to make it as proprietary and as little documented as possible for obvious reason of job security. But it’s short sighted. If your value lays only in maintaining this single piece of technology you still can be replaced at some point as this technology becomes obsolete or company would buy some other solution. I’ve always opposed the idea of irreplaceable people. There are no such people. And this way of thinking can only lead to troubles, both for you and your employer.