All Hail VIM Supreme.

You know the meme about Vim? The one where people are stuck for an eternity in Vim because they don’t know how to quit?

How to Exit Vim Editor - Stack Overflow Blog

My question is: why would you ever want to quit Vim? 😀

I’ve heard some people say that you have to be autistic if you want to know well how Vim works. Why would you ever need anything else aside from Notepad++?

(this reminds of another famous prediction – probably not based in reality but still nice – involving 640k of RAM that ought to be enough).


I’ll tell you why. Because 90% of time doing devops/dev you’ll be spending it inside a text editor or terminal (better yet – a text editor with a terminal win inside it – which Vim can do).

It’s all about text in development. Everything is text. Everything is text manipulation. Especially for a devops engineer, sysadmin or even software developer.

Scripts, config files, documentation, logs, infrastructure. Yeah, even the damn infrastructure is text (for the purposes of management and provisioning data centers and hardware).

Knowing this how can one claim that a text editor is not important? Or ever worse – that it’s alright to be ignorant of the power of your text editor of choice?

I’d say that the text editor is the most important piece of software that you will ever learn. Libraries come and go. A good text editor though? Will be with you for decades. You’ll use it daily and it’ll occupy a huge chunk of your work hours.

“But, but I can use an IDE these days. They have nice GUI’s, shiny graphics, mouse controls and a very easy learning curve.”

Try to use an IDE over ssh (in theory you could with ssh -x, in practice, not so much). See how easy that goes.

(VsCode has remote editing capabilities using a ssh plugin. Quite good and easy to setup. It might be what you need in certain situations when you have to use an IDE)

Far from me to say that IDE are useless. They have their established place in the hierarchy of software development and should be used accordingly (VsCode is very good).

If you have to use an IDE then use an IDE. But whatever you use – text editor or IDE – know it well! Know your tools my friend and your tools will reward you. Be ignorant of your tools and most often than not they’ll bite you in the a*s.

“But even if I have to ssh and work remotely I can still use nano. I don’t want to bother with vim. It’s too complex for me”

Complex it may be but the more powerful for it’s complexity. It’s true that it will take a brave and stout heart to learn vim well. But the rewards are commensurate. And don’t forget that you are actually making an investment when you learn Vim.

Let me put this way. Let’s say you decide to be a carpenter for the next 20 years. How well should you learn to use carpentry tools? Will the hours spent learning the tools be worth the next 2-4 decades of usage?

If you are serious about your profession you should be serious about your tools.

I’ll publish soon a compiled list of fairly unknown (but powerful) Vim tips and tricks for you, my reader. This way I hope to entice you to what is one the best text editors in the solar system.

Making professional games with Godot. The Good, The Bad. (no ugly).

What’s the difference between Godot 3.2 and an elephant?

The elephant can be bigger than 2.1 Gigabytes. Hahahahah. What a funny joke. You get it?

If you don’t, no worries. I kinda suck at telling jokes. But It doesn’t matter. Because you’re not here to get your amusement dose. You’ve come to hear me tell stories about Godot. And it’s beautiful story.

Let’s start with the beginning.

I was born on a cold september morn in Romania under the watchful eye of our president at the time, Nicolae Ceausescu. He heard my first screams as the doctor slapped my ass and said: “Oi!! Keep the noise down. Trying to run a bucolic communist country here!”

Nicolae Ceaușescu.jpg

Oh, wait! Not that beginning? My bad. Let me try one more time.

I was 10 years old when I first saw a NES. It was at a schoolmate’s home. His father brought him one from abroad. He was playing Mario. I felt like watching warm rainbows covered in chocolate. It felt like touching god’s little finger. It felt like magic. AND I wasn’t even playing. Super Mario Bros Power Up Card Game |Super Mario Brothers Video  Game Nintendo NES Artwork |Fast paced card games |Easy to learn and quick  to play |Fun game for all the

What now? Not that beginning? Ok, ok. Let me start again!

I first heard Godot mentioned as a cheap (free) alternative to Unity. Open source game engine??? Heehaw! Where do I sign up …. to keep using Unity or Phaser.js.

You have to understand.

At the time I was afraid of open source products given my previous experiences. Don’t get me wrong – open-source it’s a boon to humanity. But some of its end results are not as polished or user-friendly as their commercial alternatives.

Take Gimp for example. As a veteran Photoshop user and digital software lover I’ve said to myself:

“Let’s give it a shot. It’s probably going to be awesome!”

Woman, Towel, Surprised, Excited, Excitement, Portrait
That’s me without a beard.

And it was. Awesomely disappointing. It just didn’t felt right. The workflow, the UI, the tools …. I know, I know. If I’d been using Gimp for a decade and then tried Photoshop I would say the same thing about Photoshop. Or would I? Who knows. Thing is, from productivity and UX viewpoint open-source Gimp it’s a poor alternative to Photoshop IMO.

So my thinking was “Godot is to Unity what Gimp is to Photoshop”. A rough vagabond dog …

Dog, Mutt, Pet, Animal, Canine, Doggy, Cute, Dirty
How Godot seems if you’ve never tried it.

… vs a clean and elegant house dog

Dog, Black, Portrait, Animal, Blue, Rare, Big, Bitch
The big and powerful Unity.

So, was I right in my early untested assumptions?

Yes, I was. Godot was indeed a vagabond dog.

If by vagabond you mean:

  • lean and mean
  • lite yet powerful
  • lovable at first sight
Wolf, Predator, Grey, Animal, Mammal, Portrait
How Godot feels after you’ve used it.

During my gamedev years I’ve had the chance to try a variety of engines and frameworks:

  • Unity
  • SDL
  • Phaser.js
  • Unreal

I’ve made some games with Unity and some other games with Phaser.js. But I’ve never been able to create a game as fast before Godot.

Put simply – Godot will allow you to create games FAST. Creating games is hard enough without the game engine getting in your way.

Here are some “fastness” examples.

I’ve managed to add localization (just english) in just 2 days for Gamitate. 400 something entries, 10,000+ words, multiple locations (buttons, dynamic text, checkboxes, in code, etc).

It took me 1 month to create a fully working skeleton for Gamitate. Sure, I’m always tweaking and adding code. But to create a working game skeleton in just 1 month? For a mid-sized game that’s amazing. AND it was my first time ever working with Godot! So I was also learning the game engine in that first month.

(granted, I’ve took 2-3 weeks before hand to go through all the tuts and docs. But it was still my first project in Godot)

Just to give you an example – it took me 3 months to create Nature Basketball in Phaser.js.

I’m getting a gamedev-gasm every time I use Godot.

How can I best put this … working in Godot will give you pleasure. Much pleasure. It feels good, natural, elegant, clean. Not everywhere, mind you – there are still some rough edges in the UI/UX. But the core game-dev features? Beautifully crafted.

GDScript is one of the reasons Godot feels lightning fast during development. Gone are the days when you have to write miles-long terse syntax to do even the simplest things (yes C#, I’m looking at you).

Now don’t get me wrong – C# is great. It’s a powerful and beautiful language – and you can build incredibly complex software solutions with it.

But guess what! With power comes verbose syntax and complexity. You usually don’t need all that bloody power for games. You’re perfectly fine building even very complex games with pythonic languages.

I know, you think I’m talking rubbish. I used to think like that too – until I’ve actually built some games using GDScript. Not only it’s not an issue using a pythonic language – it beats the hell out of C# and C/C++ for game development (not game engine development, yeah?)

If Godot sucked I would’ve abandoned it after the first project.

I’ve started working on the second big project (it’s going to be something truly special) and guess what – still using Godot. I’ve tried getting back to Unity but it’s like going back to a horse-drawn carriage after a Ferrari.

And this is a feeling shared by many, many game developers. The vibrant community on r/godot it’s full of praise and beaming reviews. It’s just that good of a game engine.

It does have some rough edges.

There are some minor UX issues here and there but nothing game-breaking (haha).

People keep complaining about the poor documentation. Me, I’ve find the documentation extremely good (bonus – you have documentation embedded inside the engine – saves a sh*tload of time).

The tileset editor seem to be another source of complaints. I don’t work with tilesets so I can’t comment on that.

There was a nasty bug that didn’t allow for games to be bigger than 2.1gb. You had to put your assets separately in the build folder, load them at runtime, etc. Now it seems the bug was fixed (in a nightly release at least).

I hope I convinced you to give Godot a shot.

If you’re a game dev and you haven’t tried Godot you’re missing A LOT!

Why I love Godot

Godot is an incredibly cool game engine! Some years ago when I heard about Godot I was skeptical.

Who’s this new kid on the block, this open-source small-time pretender?

I avoided it for some time for 2 reasons:

  1. It didn’t have C#
  2. I thought it was going to be highly unpolished and hard to use.

When I finally gave in and gave it a shot my mind was blown. Not only did I not miss C# but I fell in love with GDScript. You don’t realize how verbose a programming language is until you try a pythonic language (Python, GDScript, etc). If you do you realize just how much FASTER and pleasant development can become.

As for the unpolished part? Hah. I wish some big commercial game engines would have a UX such as Godot has. It’s very well designed from the start (nodes rule) and it blows other User Experiences in other Game Engines away.

So I guess in a way this is my ODE to Godot.

This is THE game engine for indies and make no mistake. If you’re doing a 2D game you WANT Godot. Yes, Unity can do 2d. Yes, Unreal can (somewhat) do 2D. But Godot can do 2D GOOD and make the whole development experience streamlined and pleasant.

So what are you waiting for? Give it a shot or you’ll miss on an awesome game dev experience.

Famous Romanian figures portraits generated with AI

Recently I’ve discovered this awesome tool. It allows you to enhance your old photos to HD photos. Amongst other things, it can also generate realistic portraits from paintings and statues. Go check it out for yourself. 😀
(It requires you to create an account but at the moment of writing it’s free to use)

Now I know that there are plenty AI generated portraits of various famous people. But there aren’t many Romanians in that list.

As a kid I was always curious how would paintings and statues (of those famous Romanian figures) would look in real life.

Lo and behold – we have AI and ML which allows us (me) to do exactly that. It may not be a perfect tech but it’s amazing (and it’s still in its infancy).

I think that AI it’s starting to take over the world, slowly but surely. I don’t know if that it’s good or bad – only the future will tell. But I know that it will offers us, the human race, possibilities which will exceed our wildest dreams.

Alright, enough chit chat, here are the famous Romanian figures. (if you’re not Romanian you’ll probably guess who’s Vlad Tepes 😈)

Avram Iancu
Ciprian Porumbescu
Mihai Eminescu
Mihail Kogalniceanu
Nicolae Balcescu
Stefan cel Mare
Vasile Ursu NIcola

Vlad Tepes

Why html5 games are good for your business!

Html5 games are a great way for educating & engaging with your customers.

Here’s how they work:

  1. You put an html5 game on your website. New and existing customers get to play this game.
  2. While playing the game they learn more about your company and your products.
  3. When they finish the game (5-10 minutes) your customers will get a high score. They can use this high-score to get special discounts, promotional products, bragging rights, etc.

Why html5 games and not “regular” games? Because html5 games work great on a large variety of platforms and machines. You want your game to be available in as many places as possible.

If you’re interested in a custom html5 game I’m here to help. Shoot me an email and we’ll chat about your needs!