What opportunities are you leaving out of the picture by building thick UI clients, especially for internal products?

Cover image — Servers battling User Interface
Cover image — Servers battling User Interface

There’s no arguing that UIs should be rich, easy to use, promoting a good and adaptable UX, customisable to each individual user. What can we take in consideration when designing new architectures to keep as many future opportunities open for enhancing both clients and servers?

My proposal is with each feature one should consciously evaluate:

  • what will be written in client code
  • what on the server-side, with a heavy positive bias towards a thin client


Having made the code available since 2018 on GitHub, there is now a live demo available with some small cleanups published to the repository. Within a few minutes anyone can create their own instance. Contributions are welcome if anyone will be so inclined. There may be some additional features coming in this year.

Version 3 (above is version 4, simpler and more modern) has received a few bugs fixed as well and is available on a live deployed version too!

Hosting and technology

The game works on the latest version of PHP 7 & MySQL with nothing else needed, and instructions available within…


PHP has received so much hate along the years that today it is one of the most notorious programming languages on the planet, only partially due to how popular and prevalent it is (+70% of websites), but it can be a force for good.

Image for post
Image for post

There are many posts on how easy it is to make mistakes, how inconsistent the language has become, how detrimental its lack of hard data-type checks has been, and how the amount of dark magic in it makes it slow, unpredictable, and generally not fit for purpose for most use-cases. This eev.ee …


Image for post
Image for post

Manage expectations and adjust your use-cases for the web is the most solid advice I can give after using AG-Grid in an enterprise application, under many different deployment scenarios.

I will go through a few topics in very few words, all of them being things I was not able to find much information on during my research on using AG-Grid as effectively as possible and dealing with the different blockers.

Disclaimer: These tests have been done with Angular 7 and 8. I think the conclusions will remain relevant even for Angular 10.

Using AG-Grid within existing .NET applications

While certainly an option that removes memory limitations


It was unnecessarily difficult to figure out how to generate a simple query for Lucene able to search documents based on multiple fields.

The way I have personally come to do this is to generate the String query itself and then parse it into a query object.

Image for post
Image for post

Here we go (Scala code)

val searchInput = Map(“First Name” -> “John”, “Last Name” -> “Do”)

And that is that.

Perhaps obvious? I…


Image for post
Image for post
The Secret Republic of Hackers — Open source BBRPG
Long lived voice-over trailer

The Secret Republic of Hackers has been a long running project for us: a close friend, myself, a considerable number of players (over 20k first and second version, 3k current version), followers and contributors.

Starting as TheSecretRepublic.com and ending up as SecretRepublic.net, the game has gone through no less than 4 massive iterations, complete code rewrites and design overhauls.

Let’s jump through a wormhole to ~2011–2012

The very 1st version

Featured the futuristic design of that time. With AJAX based simulated UNIX terminals allowing player to battle each other to the…


Image for post
Image for post

As a relative new-comer to the Scala Compiler plugin realm, I’ve found the entry curve quite steep. This is a quick introduction to creating a plugin, traversing the AST and wrapping the body-block of an annotated method into an inner one so as to allow execution of extra functionality (such as remote execution).

If you’re familiar with creating the boilerplate for a Scala Compiler plugin, you might want to skip ahead.

We’ll need a scalac-plugin.xml which gets packed in our plugin’s .jar

<plugin> 
<name>CompilerPlugin</name>
<classname>com.nenuadrian.CompilerPlugin</classname>
</plugin>


Image for post
Image for post

I have had a tremendously difficult time on my quest to add a QR code generator/renderer and a QR reader into the GUI of a Unity project, and this is the easy way out.

I am slightly over-exaggerating here. We talking about only around two days here, BUT that is still too much time for such a simple feature in this day and age and I feel other people might get delayed in pursuing their actual goals for their game to tackle this side-development-task.

There are a number of paid QR plugins out there that you can purchase but for…

Adrian M. Nenu

Full-stack software engineer — “The computer programmer is a creator of universes” ~ Joseph Weizenbaum

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store