All Posts

Installing Mozilla Talk (Coral Project)

Notes on how talk installation worked for me Prerequisites Target blog (website) url: https://testblog.binarybuffer.com Domain to host comments software: https://talk-coral.binarybuffer.com OS: Ubuntu 16.04 LTS Docker version: 1.12.6 Docker-compose version: 1.16.1 Version of Talk docker image: coralproject/talk:3.4.0 Installation First of all, you need to decide how access to talk server would be handled. Talk server exposes 5000 port in docker container for HTTP interface. I see following options:

Requirements: Good Comment System for Static Websites

Following up on previous previous post I am collecting here a requirements for good comment system for static websites, mainly blogs: Non-functional requirements Simple installation. This is one of the main requirements, you can furthe split it by: Number of server components needed to run. Less is better. Integration into static website Things like domains, SSL, reverse-proxy, etc. Performance. One of the reason for popularity of static website generators is that they provide really high preformance, comment system should also be performant, which can be split in two factors: Size JavaScript components Latency in receiving comment list from server Complexity of HTML layout Easy administration.

Need for Open Source Comment System for static websites

Current state of blogging After installing Hugo on this blog I came to the problem of enabling comments. In case you are not aware, Hugo is a static website generator. You write each post as a Markdown file and then run hugo “build” process to generate static HTML. “What?” I hear you ask. “Static HTML?” I see your lips saying while your eyes increase in size twofold. I have to agree that I also can feel the smell of 90’s when I hear about static HTML.

Blog resurrection

This blog is ressurected. I have moved it to hugo since, lets face it, WordPress is really monster piece of software. It is interesting to see that last post here was in 2014. A lot of things have happened since that time: Stopped writing blog posts I’ve got married I have moved to another company That company went bust I moved to another company GoMedia where I am currently working.

Java 8 Features in a nutshell – Lambda expressions and method references

This is second post about Java 8 features in a nutshell. As you remember, last one was about Optional class. Today I am going to talk about one of the best features of Java 8 which will make your code better and easier to read: Lambda expressions. So what is lambda expression anyway? If you will sit back and think about evolution of development approach you can remember that first there was code, then there were functions, then there were modules and then OOP.

Java 8 Features in a nutshell - Optional

Hope everybody already know that Java 8 is out. It brings a lot of interesting features to make Java easier and more comfortable to use. I will try to talk through some of those features in a nutshell. Lets start with Optional class. As with all Java 8 features, Optional existed before the release, for example in Guava libraries. Optional class allows you to handle null checks in really nice way.

How to install vagrant and virtualbox on ubuntu/debian server

Recently I’ve been playing with Vagrant and I find it to be really useful. I decided even to give it a go on a live server so I can play with different environments safely. Usually I am using Vagrant on my laptop which is running Mac OS and installing it here is not a big problem. On ubuntu server on the other side, installation is not so straightforward, so I decided to create an ansible playbook to do that.

Grails 2.3 exclude class in json/xml renderer not working

Recently I started to play with Grails 2.3.4 and discovered a lot of nice features around REST, grails team did really good progress here. When I was playing I noticed that I always had “class” field in JSON returned to me by grails server when I checked the doc, it was saying that you need to setup JSON renderer like this in resources.groovy file: import grails.rest.render.json.JsonRenderer // Place your Spring DSL code here beans = { deviceRenderer(JsonRenderer, Device) { excludes = ['class'] } } But when I tried it, it did not work.

Java chronicle library tutorial #1: Basic examples

Introduction I dont remember how, but occasionally I ended up reading amazing blog of Peter Lawrey about different aspects of Java programming, focused, particularly on performance. Peter also author of Java Chronicle library which he describes as: This library is an ultra low latency, high throughput, persisted, messaging and event driven in memory database. Basically, it allows an application to write and read high amount of messages which will be persisted to disc by operating system.

If I had the opportunity to give one advice to each developer

It would be “do your job best way you can do it, but expect others to screw up”. And this advice is not only regarding code, but everything you work with. If there is some chance that something can go wrong, eventually, it will go wrong. If there is possibility of Database getting files corrupted, eventually it will. If there is possibility that some query will take too long and as the result of it, your system will become unresponsive, it will.