• +43 660 1453541
  • contact@germaniumhq.com

Blog

When More Is Less

This time we're going to look at a simple example of well written, compact code, and make it larger. And better.


Read more

Assigning a Function on File Type in Vim

Ok, we have now a new function with our own code in vim. We can manually trigger it when opening a buffer. Let's make this function automatically be called whenever opening a file, and fiddle with file types.


Read more

Creating a Command in Vim

I love vim. And one of the reasons that makes it so appealing is customization. One of the coolest things is the ability to create functions. You bind the functions to commands, and you simply call the commands for the execution.


Read more

Documenting Legacy Code

We're almost done. We covered how to build the project, how to navigate around it using grep, ctags and UML, and also how to approach finding out the issue in a structured approach. The last step is to plan for the future, and document our findings.


Read more

What to Do When No Clue: Scientific Testing

Sometimes there's no end in sight. You have the map to navigate around the code, but the sheer complexity of the thing makes finding that one bug evasive. It's time for Scientific Testing.


Read more

Creating Code Navigation Maps With UML

Now that we have ways to build the software when we change it, navigate around code, and fuzzy search through it, let's see how we approach specific problems, and use UML to chart this map.


Read more

Navigating Structured Code With CTags

As we discussed last time, we have the basic commands for searching around random files. Before dwelling into IDEs, for files that have a more esoteric language, CTags is the answer.


Read more

Navigating Legacy Code

After we can build our code, it's time to start addressing making changes. Now, not all code is created equal, and there are better ways to move around than simply opening every single file. Let's see how.


Read more

Dealing With Legacy Code

In the next miniseries of articles we're going to deal maintaining Legacy Code. We'll go with how to absorb faster bigger portions of code, how to reason larger codebases, and general day to day life. Since there's no one size that fits all, your mileage will vary.


Read more

Creating Python Handlebars Helpers

If you're using handlebars in python, you're probably using pybars3. In handlebars most commands are defined by the language, such as {{if}} or {{each}}. What you need to know is that you can also write your own helper functions to extend the language. Here's how to implement a switch clause:


Read more