programming

minimalistic IP country lookup

gitlab.com/Avris/ipvx
Screenshot of the lite version of this blog

I strive to optimise this blog's performance as well as I can. But chasing a goal of a lightweight website while keeping it pretty prevented me from realising the obvious truth that the most performant assets are… no assets.

So, inspired by Sijmen J. Mulder's directory of text-only websites, I decided to create a bare version of my blog.

Here's how it went:

Continue reading…
(~2 min read)
avris.it/lite

Hackers know your password. I'm like 99% sure they do. Just go to ';--have i been pwned? and enter your email(s). See? Your password is as good as public.

Continue reading…
(~3 min read)

I've seen some begginer programmers asking themselves: why do I even need constants? Variables I get, they're super important, but why have an extra thing that's like a variable, but worse? It can't even change! And if I know that const NUMBER_OF_COLUMNS = 3, why can't I just write 3?

Continue reading…
(~2 min read)
Screenshot of the new version of the blog

It wasn’t really supposed for the New Year, but I’ve had plenty of free time on my hands during the holiday break, so here it is already: a brand new version of my blog 🥳

Continue reading…
(~3 min read)
SUML logo

YAML gets praised for being clear and human readable, but it’s also criticised for being ambiguous.

SUML is an attempt to keep the good things about YAML but remove its ambiguity and needless complexity.

SUML documentation SUML implementation in PHP SUML support for Symfony SUML implementation in JavaScript SUML Webpack Loader

The PHP ecosystem is full of frameworks: Symfony, Laravel, Yii, Zend, Phalcon, and so many, many, many more... All of them built by professionals and supported by big communities. So why on earth would a junior developer, who has just started his first job, try his hand in building yet another one?

Well, here’s why:

Continue reading…
(~5 min read)

It’s honestly diffucult being a webdeveloper in the world of shitty websites. I guess that’s how hairdressers feel when they see my pathetic hair after it’s been a while since my last visit...

But the thing is, even though it’s technically easy to use scissors and clippers, I don’t do that on my own hair, I leave that to the professionals.

Continue reading…
(~5 min read)

I had to learn Git as a programmer. If you want to easily collaborate on a codebase, you really need either Git or something similar. But as a non-programmer, you’ve probably never even heard that name, have you? Then why would you ever need it?

Well, for exactly the same reasons!

Continue reading…
(~2 min read)
Avris Dojo

A Coding Dojo is a great way to practise programming, test-driven development, teamwork, pair programming and problem solving. Avris Dojo provides an easy way to synchronise your dojo codebase with your teammates.

dojo.avris.it
Vanillin.js

jQuery used to be virtually indispensable, if you wanted to develop a cross-browser website without getting a headache.

Today, however, you might not need jQuery, especially, if you’re developing a library and want to avoid unnecessary dependencies.

Still, some helpers could be useful... Vanillin is an opinionated set of helpers that I find most useful, a bare minimum to make life easier.

npm: avris-vanillin gitlab.com/Avris/Vanillin

While working on Avris Forms v4.0, I’ve decided to migrate some code from CoffeScript with jQuery to Vanilla JS. And I guess it might be a good idea to share this transition 😉

Continue reading…
(~3 min read)

Keeping your classes immutable and stateless makes your code way less prone to bugs. Yet somehow this clean code rule isn’t as popular and as often invoked as SRP, YAGNI, DRY, KISS and others... Maybe it’s because of the lack of a catchy acronym?

Anyways, I’d like to take a look at two examples of when sticking to this rule could save your ass (or at least save you some time debugging).

Continue reading…
(~5 min read)
100% coverage - feels good!

Having 100% of LOC covered by unit tests certainly feels like a great achievement. But beware – that doesn’t necessarily mean your code is perfectly covered. Lines of code coverage is a really nice indicator of your app’s stability, but is can also hide some risks.

Continue reading…
(~6 min read)

Programming isn’t that hard. Really. With enough time and determination, almost everybody could write some useful code. The Internet is full of tutorials that teach you programming from scratch, full of people who faced the same problems you do, full of people who solved those problems and shared their solutions for you to use, and finally full of free libraries that you can just use. All you need to do is learn some tools, google your problems and put together pieces of code that you find.

But if it’s not a black magic, not a secret knowledge, then why are software developers so well paid?

Continue reading…
(~4 min read)

Finally. I got to work and rewrote the code of my sweet blog. Brand new design, new framework, Micrus, better support for language versions, a couple of new features in the admin panel, ditching custom comments for the awesomeness of Disqus, ditching TinyMCE for the beauty and simplicity of Markdown. It was a lot of work, but it was definitely worth it!

Hope you like it! :)

Wreszcie. Wziąłem się do roboty i przepisałem od zera kod mojego blogaska. Zupełnie nowy design, nowy framework, Micrus, lepsze wsparcie dla wersji językowych, parę nowych ficzerów w panelu administracyjnym, rzucenie własnego systemu komentarzy na rzecz zajebistości Disqusa, rzucenie TinyMCE dla piękna i prostoty Markdownu. Zajęło to sporo pracy, ale zdecydowanie było warto!

Mam nadzieję, że się spodoba! :)

How big does a framework need to be to provide you with a quick, easy and comfortable way of creating neatly structured MVC websites? That can easily be extended and configured?

Well, not big at all. Just try Micrus! Its goal is to keep it as simple as possible, while offering all the most important features, as listed here:

Continue reading… micrus.avris.it gitlab.com/Avris/Micrus

Jak duży musi być framework, aby umożliwiał szybkie, łatwe i wygodne tworzenie ładnie uporządkowanych stron MVC? Aby był łatwo rozszerzalny i konfigurowalny?

No właśnie wcale nie tak duży. Wypróbuj Micrusa! Jego celem jest bycie tak małym, jak to tylko możliwe, lecz oferować wszytkie najważniejsze funkcjonalności:

Continue reading… micrus.avris.it gitlab.com/Avris/Micrus

I stumbled upon a company that rewards their developers for the number of committed lines of code, and generally for the number of commits. What an utterly idiotic idea!

Continue reading…

Code golf is a type of recreational computer programming competition in which participants strive to achieve the shortest possible source code that implements a certain algorithm. [source]

Picco is a tiny PHP web framework that only takes ~2,5 kB of space and has no dependencies on other libraries, while still providing quite a lot of features, being extensible and reasonably easy to use.

picco.avris.it gitlab.com/Avris/Picco

The idea is to create a simple (in terms of complexity, not ease of use) programming language, that will have quite a concisesyntax, that will play with the power of Unicode and most importantly – will be fun to create ;)

qc.avris.it gitlab.com/Avris/QC

Missing your cosy home? Come in to find out, if you can stop working already and head back home!

canigohome.avris.it gitlab.com/Avris/GoHome