General programming

General computer science articles

Posted on The course aims to introduce software engineers to the practical basics of distributed systems, through lecture and discussion. Participants will gain an intuitive understanding of key distributed systems terms, an overview of the algorithmic landscape, and explore production concerns.  

General programming

Anasysis of databases (Jepsen)

Posted on Over the past four years, Jepsen has analyzed over two dozen databases, coordination services, and queues—and we’ve found replica divergence, data loss, stale reads, lock conflicts, and much more. Here’s every analysis we’ve published.


Full-stack Java frameworks

Posted on Apache Isis™ is a framework for rapidly developing domain-driven apps in Java. Write your business logic in entities, domain services or view models, and the framework dynamically generates a representation of that domain model as a webapp or a rich hypermedia REST API. ActiveWeb is a Java web framework inspired by Ruby on […]


A Simple Guide To Tomcat Logging

Posted on Some additional info: An Overview of Tomcat Logging As of Tomcat 5.5, Apache’s Java Commons Logging (JCL) technology is used throughout Tomcat.  JCL is a lightweight API for Java applications that allows hierarchical logging to be supported across all log levels, independent of logging implementation.  This means that rather being limited to a […]


Default log4j initialization procedure

Posted on

  The default initialization algorithm is invoked when the LogManager class is loaded into memory. This class is guaranteed to be loaded before any logger can be used. The exact initialization algorithm is defined as follows: If the log4j.defaultInitOverride system property is set to any other value then “false”, the default initialization procedure (this procedure) […]


Docker container networking modes

Posted on Note on docker container networking modes Docker offers different networking modes when running containers. Depending on the mode you choose you would connect to your MySQL database running on the docker host differently. docker run –net=”bridge” (default) Docker creates a bridge named docker0 by default. Both the docker host and the docker containers have an IP address on […]


Стратегии загрузки коллекций в JPA

Posted on Стратегии загрузки коллекций в JPA Понимание стратегий загрузки коллекций в JPA и Hibernate является ключевым для производительности приложения, использующего ORM. Отношениям один-ко-многим или многие-ко-многим между таблицами реляционной базы данных в объектном виде соответствуют свойства сущности типа List или Set, размеченные аннотациями @OneToMany или @ManyToMany. При работе с сущностями, которые содержат коллекции других сущностей, возникает проблема известная как «N+1 selects». Первый запрос выберет только корневые сущности, а каждая […]


Http Message Converters with the Spring Framework

Posted on 1. Overview This article describes how to Configure HttpMessageConverter in Spring. Simply put, message converters are used to marshall and unmarshall Java Objects to and from JSON, XML, etc – over HTTP. 2. The Basics 2.1. Enable Web MVC The Web Application needs to be configured with Spring MVC support – one convenient and very customizable way to do […]


Linux multihome host with rule based routing

Posted on rp_filter Since RHEL 6 (and CentOS 6), asymmetric routing doesn’t work anymore out of the box. The cause of the issue is a change in the default value for kernel parameter rp_filter. Rp_filter stands for reverse path filtering. The reverse path filter will check if the source of a packet that was received on a certain interface […]